:root{--bg:#faf6ef;--surface:#fffdf9;--ink:#2a2520;--muted:#736a5f;--line:#e4dccf;--accent:#a4502b;--accent-soft:#f5e6dc;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);word-break:keep-all;margin:0;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-size:17px;line-height:1.65}.screen{max-width:560px;margin:0 auto;padding:20px 16px 96px}h1{margin:4px 0 16px;font-size:26px;line-height:1.3}h2{margin:0 0 8px;font-size:18px}h2 small,li small{color:var(--muted);font-size:14px;font-weight:400}section{margin-top:28px}p{margin:0 0 10px}a{color:inherit}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border-radius:10px;min-height:46px;padding:8px 14px}.hero{background:#141235;max-width:560px;height:min(107.5vw,500px);margin:0 auto;position:relative;overflow:hidden}.hero-art{object-fit:cover;object-position:100% 100%;width:100%;height:100%;display:block}.hero-text{color:#fff8ea;text-shadow:0 1px 10px #14163c73;padding:28px 20px 0;position:absolute;inset:0 0 auto}.hero-text h1{letter-spacing:-.02em;margin:0 0 8px;font-size:30px;line-height:1.28}.hero-text p{color:#f7e8d8;max-width:17em;margin:0;font-size:15px;line-height:1.5}.home-body{padding-top:16px}.results{scroll-margin-top:12px}.actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.primary{background:var(--accent);color:#fff;border:1px solid var(--accent);font-weight:600}.primary:disabled{opacity:.6}.secondary{background:var(--surface);border:1px solid var(--line)}.wide{width:100%;margin-top:12px}.notice{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-top:12px;padding:12px}.home-map{margin-top:16px}.directions{text-align:center;color:inherit;border-radius:12px;margin:12px 0 16px;padding:12px;font-weight:600;text-decoration:none;display:block}.result-summary{color:var(--muted);margin-top:12px}.result-summary strong{color:var(--ink)}.place-list{margin:0;padding:0;list-style:none}.place-list li{border-bottom:1px solid var(--line)}.place-list a{justify-content:space-between;align-items:center;gap:12px;padding:10px 2px;text-decoration:none;display:flex}.place-name{flex:1;font-weight:600}.thumb{background:linear-gradient(160deg,#e9dfcf,#d9c7ad);border-radius:10px;flex:none;width:56px;height:56px;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.place-meta{color:var(--muted);white-space:nowrap;align-items:center;gap:10px;font-size:14px;display:flex}.badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:13px;font-weight:600}.muted{color:var(--muted)}.credit{color:var(--muted);margin-top:32px;font-size:12px}.back{color:var(--muted);padding:4px 0;text-decoration:none;display:inline-block}.tabs{background:var(--line);border-radius:12px;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;display:grid}.tabs button{background:0 0;border:0;min-height:40px;padding:4px}.tabs button[aria-selected=true]{background:var(--surface);font-weight:700}.draft{background:var(--accent-soft);color:#7a3a1e;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:14px}.big-question{margin-top:20px;font-size:21px;font-weight:700;line-height:1.4}.opener{background:var(--surface);border-left:4px solid var(--accent);border-radius:0 10px 10px 0;padding:12px 14px}.opener p{margin:0;font-size:18px}.steps{margin:0;padding-left:22px}.steps li{margin-bottom:10px}.steps p{margin:2px 0 0}details{border-bottom:1px solid var(--line);padding:10px 0}summary{cursor:pointer;font-weight:600}details p{margin:8px 0 0}.exercise{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}.exercise ol{margin:0;padding-left:22px}.exercise li{margin-bottom:16px}.exercise input:not([type=file]),.exercise textarea{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:100%;padding:8px 10px}.exercise textarea{width:100%;margin-top:8px;display:block}.exercise input.blank{width:96px;padding:2px 8px}.exercise input[type=file]{max-width:100%;font-size:14px}.choices{flex-wrap:wrap;gap:6px;display:flex}.choices button{border:1px solid var(--line);background:#fff;min-height:42px}.choices button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.photo{border-radius:8px;width:100%;margin-top:8px;display:block}.answers{color:var(--muted);margin-top:12px!important}.answers li{margin-bottom:4px}.right{color:#2e7044;font-weight:600}.wrong{color:#b3321f;font-weight:600}.place-photo{margin:0 0 16px}.place-photo img{object-fit:cover;border-radius:12px;width:100%;max-height:340px;display:block}.place-photo figcaption{color:var(--muted);margin-top:6px;font-size:12px}.then-caption{margin:8px 0 0;font-weight:600}.link{min-height:0;color:var(--accent);text-underline-offset:3px;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:600;text-decoration:underline}button.back{color:var(--muted);font-size:16px;font-weight:400;text-decoration:none}.seal{display:block;overflow:visible}.tabbar{z-index:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);width:min(100%,560px);padding:6px 0 calc(6px + env(safe-area-inset-bottom));background:#fffdf9f0;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar a{color:var(--muted);flex-direction:column;align-items:center;padding:2px 0;font-size:12px;line-height:1.3;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--accent);font-weight:700}.stamp-panel{background:repeating-linear-gradient(0deg,#0000 0 25px,#785a3c12 25px 26px),#f6efe0;border:1px solid #e3d6bd;border-radius:14px;grid-template-columns:132px 1fr;align-items:center;gap:14px;margin:0 0 18px;padding:12px;display:grid}.stamp-spot{border-radius:50%;place-items:center;width:132px;height:132px;display:grid}.stamp-empty{color:#a08c6d;border:2px dashed #c8b596;border-radius:50%;place-items:center;width:118px;height:118px;font-weight:700;display:grid}.stamp-copy{min-width:0;color:var(--muted);flex-direction:column;align-items:flex-start;gap:6px;font-size:14px;display:flex}.stamp-copy strong{color:var(--ink);font-size:17px;line-height:1.35}.stamp-copy .primary{width:100%;margin-top:2px}.stamp-message{color:#8d3a20}.my-photos{border-top:1px dashed #d3c3a6;grid-column:1/-1;min-width:0;padding-top:10px;font-size:14px}.my-photos>strong{margin-bottom:8px;font-size:15px;display:block}.my-photos .stamp-message{margin:6px 0 0}.my-photo-row{scrollbar-width:thin;scrollbar-color:#cdbb9b transparent;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.my-photo,.my-photo-add{border-radius:10px;flex:none;width:84px;height:84px;min-height:0;padding:4px}.my-photo{background:#efe3cd;border:0;padding:0;overflow:hidden}.my-photo img{object-fit:cover;width:100%;height:100%;display:block}.my-photo-add{color:#8a7558;background:0 0;border:2px dashed #c8b596;font-size:14px;font-weight:700;line-height:1.3}.my-photos-note{color:var(--muted);margin:8px 0 0;font-size:12.5px;line-height:1.5}.photo-viewer{background:var(--surface);width:min(100% - 24px,536px);max-height:calc(100dvh - 24px);color:var(--ink);border:0;border-radius:14px;padding:0;overflow:hidden}.photo-viewer::backdrop{background:#281c169e}.photo-viewer img{object-fit:contain;background:#2a2520;width:100%;max-height:calc(100dvh - 88px);display:block}.photo-viewer-actions{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:flex}.photo-viewer-actions .link{min-height:32px;padding:0 4px}.zone-done{color:#7a5a12;font-weight:700}.book{background:#f1e7d3;max-width:560px;min-height:100vh;margin:0 auto;padding-bottom:96px}.book-cover{color:#f7e7c9;background:linear-gradient(160deg,#6d2f22,#47201e);border-bottom:5px double #caa268;padding:34px 22px 26px}.book-cover p{color:#e4c99e;margin:0;font-size:15px}.book-cover h1{letter-spacing:-.02em;margin:2px 0 16px;font-size:30px}.book-cover .count{margin-top:10px}.book-cover strong{color:#fff3d8;font-size:22px}.beads{gap:6px;display:flex}.beads span{background:#fff0d22e;border-radius:9px;flex:1;height:9px}.beads .on{background:#f0bf63;box-shadow:0 0 8px #f0bf63b3}.book-page{background:repeating-linear-gradient(0deg,#0000 0 27px,#785a3c14 27px 28px),#fbf5e8;border-radius:4px 14px 14px 4px;margin:18px 14px 0;padding:14px 14px 12px;position:relative;box-shadow:inset 12px 0 14px -12px #5a3c1e59,0 3px 10px #5a3c1e24}.book-page h2{margin:0 0 10px}.page-tab{background:var(--ink);color:#fff8ea;border-radius:4px;padding:3px 12px;font-size:14px;display:inline-block}.stamp-grid{grid-template-columns:repeat(2,1fr);gap:8px 4px;display:grid}.slot{flex-direction:column;align-items:center;min-width:0;padding:4px 0;text-decoration:none;display:flex}.slot-empty{color:#c9b896;opacity:.75;border:2px dashed #d3c3a6;border-radius:50%;width:104px;height:104px;padding:22px;display:block}.slot-empty.has-photo{opacity:1;padding:5px}.slot-mine{width:104px;height:104px;display:block;position:relative}.slot-mine>img{object-fit:cover;border:4px solid #fff9ec;border-radius:50%;width:100%;height:100%;display:block;box-shadow:0 4px 12px #50321e38}.slot-empty img{object-fit:cover;filter:grayscale(.55)contrast(.94);opacity:.82;border-radius:50%;width:100%;height:100%;display:block}.slot-name{margin-top:4px;font-size:15px;font-weight:700}.slot-date{color:var(--muted);font-size:12px}.zone-flag{transform-origin:15% 100%;width:44px;height:54px;animation:2.4s ease-in-out infinite wave;position:absolute;top:-14px;right:16px}@keyframes wave{50%{transform:rotate(3deg)skewY(-2deg)}}.clear{color:var(--muted);margin:22px auto 0;font-weight:400;display:block}.journey{background:#fbf3e4;max-width:560px;min-height:100vh;margin:0 auto;padding-bottom:96px}.journey-head{color:#fff8ea;background:linear-gradient(#1f2a55,#4a4478 62%,#c0697a);padding:32px 20px 22px}.journey-head p{color:#eadcd8;margin:0;font-size:15px}.journey-head h1{letter-spacing:-.02em;margin:2px 0 16px;font-size:30px}.seg{background:#ffffff2b;border-radius:999px;grid-template-columns:repeat(3,auto);padding:3px;display:inline-grid}.seg button{color:#fff8ea;background:0 0;border:0;border-radius:999px;min-height:34px;padding:3px 14px}.seg button[aria-selected=true]{color:#3a3160;background:#fff8ea;font-weight:700}.river{position:relative;overflow:hidden}.river>svg{width:100%;height:100%;position:absolute;inset:0}.era-band{position:absolute;left:0;right:0}.era-founding{background:linear-gradient(#c0697a -6%,#efe6f2 9%,#f4e8e6 100%)}.era-three{background:linear-gradient(#f4e8e6,#fde4c4)}.era-unified{background:linear-gradient(#fde4c4,#fcd9a8)}.era-prehistory{background:linear-gradient(#c0697a -6%,#e8e0d2 9%,#ece2d8 100%)}.era-goryeo{background:linear-gradient(#fcd9a8,#e6e4c0)}.era-joseon{background:linear-gradient(#e6e4c0,#dfe8d4)}.era-modern{background:linear-gradient(#dfe8d4,#d9e2e6)}.era-today{background:linear-gradient(#d9e2e6,#d3e4ea)}.era-title{z-index:1;background:#fffbf3e0;border-radius:12px;padding:6px 12px;position:absolute;left:12px;box-shadow:0 2px 8px #50321e1a}.era-title h2{margin:0;font-size:18px;line-height:1.3}.era-title p{color:var(--muted);margin:0;font-size:13px;line-height:1.35}.river-bank{fill:none;stroke:#e7c99a;stroke-width:40px;stroke-linecap:round;opacity:.75}.river-water{fill:none;stroke:#8fc1cf;stroke-width:26px;stroke-linecap:round;opacity:.8}.stop{z-index:1;align-items:center;gap:10px;width:92%;text-decoration:none;display:flex;position:absolute}.stop.left{left:3%}.stop.right{text-align:right;flex-direction:row-reverse;right:3%}.stop-disc{background:#efe3cd;border:4px solid #fff9ec;border-radius:50%;flex:none;width:96px;height:96px;position:relative;box-shadow:0 4px 12px #50321e38}.stop-disc img{object-fit:cover;filter:grayscale(.85)contrast(.92);opacity:.8;border-radius:50%;width:100%;height:100%}.stop-glyph{color:#bda98a;padding:20px;display:block}.stop.visited .stop-disc{border-color:#f0bf63;box-shadow:0 0 0 3px #f0bf6359,0 4px 14px #50321e47}.stop.visited .stop-disc img{filter:none;opacity:1}.stop-seal{background:#fbf3e4db;border-radius:50%;position:absolute;bottom:-8px;right:-10px}.stop.legend .stop-disc{opacity:.78;border-style:dashed}.stop-text{background:#fffbf3d6;border-radius:10px;flex-direction:column;min-width:0;padding:6px 10px;line-height:1.32;display:flex}.stop.right .stop-text{align-items:flex-end}.stop-year{color:#8d3a20;font-size:12px;font-weight:700}.stop-text strong{font-size:17px}.stop-person{color:var(--muted);font-size:13px}.kind{color:#574a78;background:#e6e1ee;border-radius:6px;align-self:flex-start;margin-top:2px;padding:0 6px;font-size:11px}.stop.right .kind{align-self:flex-end}.kind-record{color:#38613c;background:#e2ecdf}.kind-mixed{color:#7a5a12;background:#f6e5c8}.journey-note{color:var(--muted);padding:14px 20px 0;font-size:13px}.map-wrap{padding:14px}.story-map{border:5px solid #fff9ec;border-radius:14px;width:100%;display:block;box-shadow:0 4px 14px #50321e33}.map-word{fill:#6d8a66;text-anchor:middle;font-size:11px;font-weight:600}.map-word.sea{fill:#fff;font-size:14px}.spot{cursor:pointer}.spot-name{fill:#4a3a2c;paint-order:stroke;stroke:#f4e9d0;stroke-width:3px;font-size:11.5px;font-weight:700}.spot:not(.visited) .spot-name{fill:#8a7a62}.map-flag{animation:.4s ease-out both flag-rise}@keyframes flag-rise{0%{opacity:0;transform:translateY(6px)}}.map-caption{color:var(--muted);margin-top:10px;font-size:14px}@media (prefers-reduced-motion:reduce){.zone-flag,.map-flag,.tool-body,.overlay-seal,.stamp-sheet,.overlay-slot.ready{animation:none!important}}.confirm-row{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.link.quiet{color:var(--muted);font-weight:400}.link.danger{color:#b3321f}.stamp-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#281c169e;place-items:center;padding:14px;animation:.2s ease-out overlay-in;display:grid;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}}.stamp-sheet{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:repeating-linear-gradient(0deg,#0000 0 29px,#785a3c14 29px 30px),#fbf5e8;border-radius:6px 18px 18px 6px;width:min(100%,420px);height:min(100%,640px);position:relative;overflow:hidden;box-shadow:inset 16px 0 18px -14px #5a3c1e66,0 18px 44px #140a0573}.stamp-hint{text-align:center;color:#5a3a24;margin:0;font-size:20px;font-weight:800;position:absolute;top:14px;left:0;right:0}.done .stamp-hint{color:#b5382a;font-size:34px}.overlay-slot{border:3px dashed #cdbb9b;border-radius:50%;place-items:center;width:168px;height:168px;margin-left:-84px;transition:border-color .15s,background .15s;display:grid;position:absolute;top:190px;left:50%}.overlay-slot.ready{background:#b5382a14;border-color:#b5382a;animation:.7s ease-in-out infinite slot-pulse}@keyframes slot-pulse{50%{transform:scale(1.05)}}.done .overlay-slot{border-color:#0000}.overlay-ghost{color:#dccdb1;width:92px}.overlay-name{text-align:center;color:#7a6650;margin:0;font-weight:700;position:absolute;top:368px;left:0;right:0}.overlay-seal{animation:.32s ease-out both seal-hit}@keyframes seal-hit{0%{opacity:.5;transform:scale(1.14)}to{opacity:1;transform:scale(1)}}.tool{z-index:2;pointer-events:none;width:0;height:0;position:absolute}.tool-body{transform-origin:50% 84%;filter:drop-shadow(-2px 5px 4px #321e144d);animation:1.6s ease-in-out infinite hover-breathe;position:absolute;top:-158px;left:-75px;rotate:-10deg}@keyframes hover-breathe{0%,to{translate:0 -20px}50%{translate:0 -30px}}.tool-shadow{filter:blur(8px);pointer-events:none;background:#3c281942;border-radius:50%;width:140px;height:54px;margin:-12px 0 0 -70px;position:absolute}.slam .tool,.slam .tool-shadow{transition:left .12s ease-out,top .12s ease-out}.slam .tool-body{animation:.42s cubic-bezier(.45,0,1,.7) forwards slam-down}.slam .tool-shadow{animation:.42s ease-in forwards slam-shadow}@keyframes slam-down{0%{translate:0 -20px;rotate:-10deg;scale:1}60%{translate:0 -78px;rotate:-14deg;scale:1.38}to{translate:0;rotate:0deg;scale:.98}}@keyframes slam-shadow{60%{opacity:.3;scale:1.45}to{opacity:.9;scale:.95}}.done .tool-body{animation:.5s ease-in .14s forwards lift-off;translate:0;rotate:0deg;scale:.98}@keyframes lift-off{0%{opacity:1;translate:0;rotate:0deg}to{opacity:0;translate:30px -230px;rotate:12deg;scale:1.25}}.done .stamp-sheet{animation:.26s ease-out thud}@keyframes thud{20%{transform:translate(2px,5px)rotate(.5deg)}50%{transform:translate(-2px,-2px)rotate(-.3deg)}}.overlay-actions{z-index:3;justify-content:center;gap:24px;display:flex;position:absolute;bottom:18px;left:0;right:0}.overlay-actions .link{min-height:32px;font-size:15px}.place-intro{color:var(--muted)}.sources summary{font-size:15px}.sources ul{color:var(--muted);margin:8px 0 0;padding-left:20px;font-size:14px}.beads{flex-wrap:nowrap;gap:3px}.region-row{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#cdbb9b transparent;gap:10px;padding:16px 14px 10px;scroll-padding:0 14px;display:flex;position:relative;overflow-x:auto}.region-row .region-tile,.region-row .region-tile:first-child{scroll-snap-align:start;flex:none;grid-column:auto;width:148px;height:112px}.region-row .region-tile-text{padding:26px 10px 8px}.region-row .region-tile-text strong{font-size:19px}.region-row .region-tile-text small{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.region-row .region-tile[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:2px}.region-row .region-tile[aria-pressed=true] .region-tile-text{background:linear-gradient(#0000,#8a3e1ef0)}.region-collage{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:2px;width:100%;height:100%;display:grid}.region-collage img{min-height:0}.journey-head+.region-row{background:#c0697a;padding-bottom:14px}.journey-head+.region-row .region-tile[aria-pressed=true]{outline-color:#fff8ea}@media (hover:none){.region-row,.my-photo-row{scrollbar-width:none}.region-row::-webkit-scrollbar{display:none}.my-photo-row::-webkit-scrollbar{display:none}}@media (prefers-reduced-motion:no-preference){.region-row{scroll-behavior:smooth}}@media (width>=560px){.region-row{grid-template-columns:repeat(4,1fr);display:grid;overflow:visible}.region-row .region-tile,.region-row .region-tile:first-child{width:auto}.region-row .region-tile:first-child:nth-last-child(7){grid-column:span 2}.region-row .region-tile:first-child:nth-last-child(7) img{object-position:50% 32%}}.nations{padding:14px 14px 0}.nation{background:#fffaf0;border-radius:14px;gap:10px;margin-bottom:10px;padding:12px;display:flex;box-shadow:0 2px 8px #50321e1a}.nation-flag{opacity:.3;filter:grayscale(.8);flex:none;width:40px;height:58px;transition:all .3s;transform:translateY(6px)scale(.9)}.nation.raised .nation-flag{opacity:1;filter:none;transform:none}.nation-body{flex:1;min-width:0}.nation h2{margin:0;font-size:18px;line-height:1.3}.nation p{color:var(--muted);margin:0 0 6px;font-size:14px}.nation-track{background:#efe5d2;border-radius:8px;height:8px;overflow:hidden}.nation-track span{background:var(--flag);height:100%;display:block}.nation-seals{flex-wrap:wrap;gap:2px;margin-top:8px;display:flex}.nation-next{color:var(--muted);margin-top:6px;font-size:13px;display:inline-block}.region-tiles{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px;display:grid}.region-tile{color:#fff;text-align:left;background:linear-gradient(160deg,#6d2f22,#2f2a55);border:0;border-radius:14px;height:150px;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 4px 12px #3c281e33}.region-tile:first-child{grid-column:1/-1;height:180px}.region-tile img{object-fit:cover;width:100%;height:100%;display:block}.region-tile-glyph{color:#fff0d299;place-items:center;display:grid;position:absolute;inset:14px 0 40px}.region-tile-glyph svg{height:100%}.region-tile-text{background:linear-gradient(#0000,#140f0fc7);flex-direction:column;padding:28px 12px 10px;line-height:1.3;display:flex;position:absolute;inset:auto 0 0}.region-tile-text strong{font-size:21px}.region-tile-text small{opacity:.9;font-size:12.5px}.region-tile:hover img{transform:scale(1.04)}.region-tile img{transition:transform .25s}.report-form{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px}.report-form h2{margin-bottom:10px}.report-form textarea{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;margin-top:10px;padding:8px 10px;display:block}.report-form .choices button{border:1px solid var(--line);background:#fff;min-height:42px}.report-form .choices button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.report-hint{color:var(--muted);margin:8px 0 10px;font-size:13px}.report-actions{align-items:center;gap:16px;display:flex}.field-check{background:#fffaf0;border-top:1px dashed #d3c3a6;grid-column:1/-1;padding-top:10px;font-size:14px}.field-check p{color:var(--muted);margin:4px 0 8px}.field-check .choices button{border:1px solid var(--line);background:#fff;min-height:40px}.field-done{color:var(--muted);grid-column:1/-1;margin:0;font-size:14px}
