:root{--ink:#203f38;--muted:#738277;--cream:#f7f6ed;--orange:#ee784e;--line:#e1e5d9}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ee784e;outline-offset:4px}button{touch-action:manipulation}button[hidden]{display:none!important}.app{max-width:1180px;margin:auto;padding:0 44px}header{display:flex;justify-content:space-between;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-weight:900;letter-spacing:1.7px;font-size:13px}.brand-icon{background:var(--ink);border-radius:13px;color:#fff;padding:10px;font-size:23px;line-height:1}.brand small{display:block;letter-spacing:1px;font-size:10px;color:var(--muted);font-weight:500;margin-top:4px}.icon-button{border:1px solid var(--line);border-radius:30px;padding:10px 15px;background:transparent;font-size:12px;font-weight:700}.heading{display:flex;justify-content:space-between;align-items:center;padding:42px 0 32px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:800;color:var(--muted);margin:0 0 12px}h1{font-size:43px;line-height:1.3;letter-spacing:-2.5px;margin:0;font-weight:900}h1 em{font-style:normal;color:var(--orange)}.intro{color:var(--muted);line-height:1.8;margin:15px 0 0;font-size:13px}.mission-stamp{text-align:center;border:1px solid #c6cdbb;border-radius:100%;height:144px;width:144px;padding:21px;transform:rotate(12deg);font-size:10px;letter-spacing:2px;color:#829078;line-height:1.6;margin-right:12px}.mission-stamp strong{display:block;font-size:15px;letter-spacing:1px}.mission-stamp span{display:block;font-size:26px;line-height:1.4}.layout{display:grid;grid-template-columns:1.5fr 1fr;gap:26px;align-items:start}.adventure{border:1px solid #d2dfcf;border-radius:23px;overflow:hidden;background:#fffef7;box-shadow:0 8px 25px #1e493906}.map-bar{padding:17px 22px;display:flex;justify-content:space-between;gap:8px;font-size:11px;background:#e9efdf}.map-bar i{width:7px;height:7px;display:inline-block;border-radius:50%;background:#6b9870;margin-right:6px}.map-bar>span:last-child{color:#6d8174}.island{position:relative;aspect-ratio:600/570;background:#c9e1d5;overflow:hidden}.map-art{position:absolute;width:100%;height:100%;inset:0}.map-caption{position:absolute;bottom:2%;text-align:center;width:100%;font-size:10px;color:#52766a;letter-spacing:.3px}.node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;width:26%;transition:opacity .4s,filter .4s}.terrain{font-size:33px;position:absolute;top:8px;left:50%;transform:translateX(-50%);opacity:.38;filter:saturate(.7)}.avatar{position:relative;display:grid;place-items:center;background:var(--color,#e6be86);box-shadow:inset 0 -4px 0 #0000000b,0 4px 0 #0000000b;border:3px solid #fff5dc;width:49px;height:49px;border-radius:19px;font-size:30px;z-index:1}.node .avatar{animation:bob 3.4s ease-in-out infinite;animation-delay:var(--delay)}.node strong{font-size:11px;background:#fffdf3;box-shadow:0 2px 1px #00000009;padding:3px 9px;border-radius:9px;margin-top:5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;z-index:2}.node small{font-size:9px;color:#7f8065;margin-top:3px}.node .radio{position:absolute;top:-10px;right:20%;font-size:17px;z-index:3}.node.rescued{opacity:.35;filter:grayscale(.8)}.node.rescued .avatar{animation:none}.node.rescued strong{color:#316a50}.node.target .avatar{animation:cheer .5s infinite alternate;box-shadow:0 0 0 12px #fff7bd88,0 0 30px #fff6a9}.node.loser .avatar{width:62px;height:62px;font-size:36px;box-shadow:0 0 0 9px #ed784e33;animation:cheer .7s infinite alternate}.node.loser strong{background:var(--orange);color:white}.bot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);transition:left 1.9s ease-in-out,top 1.9s ease-in-out;z-index:5;text-align:center;pointer-events:none}.bot span{display:grid;place-items:center;font-size:26px;background:var(--ink);border:3px solid #fff9df;border-radius:16px;width:47px;height:44px;box-shadow:0 6px 0 #0002}.bot b{font-size:8px;background:#fff7df;padding:2px 6px;border-radius:5px}.bot.travel span{animation:shake .25s infinite alternate}.mission-panel{padding:22px 24px 19px;min-height:185px}#status{text-align:center;min-height:61px}#status strong{font-size:18px;letter-spacing:-.5px;display:block;margin-bottom:5px}#status p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}.party{display:flex;justify-content:center;gap:3px;min-height:9px;margin:4px 0 13px}.party span{font-size:23px;animation:pop .3s ease-out}.primary{display:flex;align-items:center;justify-content:center;gap:15px;border:0;background:var(--ink);color:white;border-radius:12px;padding:17px;width:100%;font-weight:700;font-size:14px;transition:background .2s,transform .2s}.primary:hover{background:#315c50}.primary:active{transform:scale(.98)}.primary span{font-size:18px}.text-button{border:0;background:transparent;font-size:11px;padding:9px;color:#718070}.mission-panel>.text-button{display:block;margin:5px auto 0}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:7px}h2{font-size:19px;letter-spacing:-.6px;margin:0}h2 span{font-size:12px;font-weight:500;color:#91a084;margin-left:7px}.crew-panel{background:#fffef8;border:1px solid var(--line);border-radius:22px;padding:24px}.helper{font-size:10px;line-height:1.8;color:var(--muted);margin:11px 0 13px}.crew-row{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid #edf0e6;gap:10px}.crew-profile{display:flex;align-items:center;text-align:left;gap:11px;flex:1;min-width:0;border:0;background:transparent;padding:0}.crew-profile .avatar{width:35px;height:35px;font-size:23px;border-width:2px;border-radius:12px;flex-shrink:0}.crew-profile strong{font-size:12px;display:block}.crew-profile small{font-size:9px;display:block;margin-top:3px;color:#8c9486}.crew-row.inactive{opacity:.4}.crew-tag{font-size:9px;color:#7b8d71;background:#edf3e5;border-radius:5px;padding:4px 7px;white-space:nowrap}.crew-tag.music{color:#bc784c;background:#faf0df}.captain-field{padding-top:21px}.captain-field label{font-size:11px;font-weight:700;display:block;margin-bottom:9px}select{border:1px solid #dce3d5;background:#f7f9f0;color:var(--ink);border-radius:9px;width:100%;padding:10px 12px;font-size:12px}.captain-field p{font-size:10px;line-height:1.8;color:var(--muted);margin-bottom:0}.music-panel{display:flex;flex-wrap:wrap;align-items:center;gap:13px;background:#eeeede;border-radius:17px;padding:21px;margin-top:15px}.music-note{font-size:38px;color:#a1a77f}.music-panel h3{margin:0;font-size:12px}.music-panel p{margin:7px 0 0;font-size:10px;color:#81866f;line-height:1.7}.music-actions{width:100%;display:flex;align-items:center;gap:8px}.secondary{border:1px solid #d3d9c7;border-radius:9px;padding:11px 13px;background:#fffef4;font-size:11px;font-weight:600}.footnote{text-align:center;font-size:9px;line-height:2;color:#9aab96;letter-spacing:.7px;margin:20px 0}footer{text-align:center;font-size:10px;color:#8b9887;border-top:1px solid var(--line);padding:25px;margin-top:30px}dialog{border:1px solid var(--line);border-radius:22px;background:#fffdf5;color:var(--ink);padding:27px;width:min(430px,calc(100% - 30px));max-height:90dvh}dialog::backdrop{background:#17362f99;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}#profile-avatar{display:flex;justify-content:center;margin:22px}form>label,.time-fields label{display:block;font-size:12px;font-weight:600;margin:16px 0}input:not([type=checkbox]){display:block;width:100%;padding:12px;border:1px solid #dce3d5;border-radius:9px;background:#fffefb;color:var(--ink);margin-top:7px;min-width:0}input[type=file]{font-size:11px}input[type=checkbox]{accent-color:var(--ink);width:18px;height:18px;vertical-align:middle}.check{display:flex;align-items:center;gap:7px}.time-fields{display:flex;gap:14px}.time-fields label{width:50%}.preview-actions{display:flex;gap:8px;align-items:center;margin:10px 0 20px}.preview-actions>*{flex:1}#toast{position:fixed;bottom:max(25px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%,15px);background:#173c33;color:white;padding:13px 20px;max-width:90%;width:max-content;border-radius:12px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:100}#toast.show{opacity:1;transform:translate(-50%,0)}.ended .map-caption{color:var(--ink);font-weight:700}.ended~.mission-panel .primary{background:var(--orange)}
@keyframes bob{50%{transform:translateY(-4px)}}@keyframes cheer{to{transform:translateY(-8px) rotate(6deg)}}@keyframes shake{to{transform:rotate(6deg)}}@keyframes pop{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}
@media(min-width:1000px){h1 br{display:none}.intro br{display:none}.heading{padding:38px 0}.mission-stamp{width:125px;height:125px;padding:15px}}
@media(max-width:760px){.app{padding:0 20px}header{padding:19px 0}.heading{padding:27px 0 24px}h1{font-size:34px;letter-spacing:-1.8px}.intro{font-size:11px;margin-top:11px}.mission-stamp{width:107px;height:107px;font-size:8px;padding:14px;margin-right:0;letter-spacing:1px}.mission-stamp strong{font-size:12px}.mission-stamp span{font-size:21px}.layout{grid-template-columns:1fr;gap:20px}.map-bar{padding:14px 17px}.mission-panel{padding:19px}.crew-panel{padding:22px}.crew-row{padding:10px 0}.crew-profile strong{font-size:13px}.crew-profile small{font-size:10px}.crew-profile .avatar{width:39px;height:39px}.helper{font-size:11px}.music-panel h3{font-size:13px}.music-panel p{font-size:11px}.captain-field label{font-size:12px}.captain-field p{font-size:11px}.avatar{width:42px;height:42px;font-size:26px;border-radius:15px}.node strong{font-size:10px}.node small{font-size:8px}.node .radio{right:10%}.node.loser .avatar{width:47px;height:47px;font-size:28px}.bot span{width:38px;height:36px;font-size:23px}.primary{min-height:51px}footer{margin-top:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Side-scrolling arcade edition */
.island{display:none}.arcade-stage{background:#152238;color:#fff}.stage-label{display:flex;justify-content:space-between;padding:14px 18px;font-size:10px;letter-spacing:1px;color:#a7c8cc;border-bottom:1px solid #ffffff18}.stage-label span:first-child{color:#ffdb8a;font-weight:800}.arcade-stage canvas{display:block;width:100%;height:auto;image-rendering:pixelated}.stage-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.signal-track{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:3px;padding:16px 9px;background:#101b2c}.signal{min-width:0;display:flex;flex-direction:column;align-items:center;border:1px solid #ffffff16;border-radius:7px;padding:8px 1px;transition:background .18s,border-color .18s}.signal .avatar{width:36px;height:42px;border:0;background:transparent;box-shadow:none;border-radius:0}.pixel-avatar svg{width:100%;height:100%;overflow:visible}.signal b{font-size:10px;color:#f6edd8;white-space:nowrap;margin-top:5px}.signal small{font-size:8px;color:#ffa99d;margin-top:4px}.signal.safe{opacity:.38}.signal.safe small{color:#81e3be}.signal.scanning{background:#ffe09e29;border-color:#ffe09e;box-shadow:0 0 14px #ffe09e33}.signal.found{background:#6de3ae33;border-color:#8bffd5}.signal.final{background:#f58c6633;border-color:#f58c66}.party .avatar{width:28px;height:33px;background:transparent;border:0;box-shadow:none}.crew-profile .pixel-avatar{width:43px;height:48px;border-radius:7px;background:#e9efdf;border:0;box-shadow:none}.heading{padding-top:25px;padding-bottom:24px}.mission-stamp{display:none}.intro{max-width:460px}.adventure{border-color:#263c48}.mission-panel{background:#fffdf4}.layout{grid-template-columns:1.75fr 1fr}@media(max-width:760px){.app{padding:0 12px}.layout{grid-template-columns:1fr}.heading h1{font-size:27px}.heading{padding:20px 7px}.heading h1 br{display:none}.intro br{display:none}.intro{font-size:11px}.stage-label{font-size:9px;padding:12px}.signal-track{padding:12px 5px;gap:2px}.signal .avatar{width:28px;height:34px}.signal b{font-size:9px}.signal small{font-size:7px}.signal{padding:6px 0}.mission-panel{padding:17px 14px}#status strong{font-size:17px}}
.participation{flex-shrink:0;min-width:66px;min-height:44px;padding:9px 12px;border:1px solid #d4dace;border-radius:22px;background:#f0eee7;color:#777e75;font-size:12px;font-weight:700}.participation.on{background:#dceee2;border-color:#91b49b;color:#246449}.participation[aria-pressed=false]{opacity:1}.crew-row.inactive{opacity:1}.crew-row.inactive .crew-profile{opacity:.4}.participation:disabled{opacity:.45}.signal-track{grid-template-columns:repeat(auto-fit,minmax(30px,1fr))}
header{gap:9px}.brand{margin-right:auto}#intro-dialog{width:min(620px,calc(100% - 24px));max-height:95dvh;padding:36px 26px 22px;background:radial-gradient(ellipse at 50% 20%,#304d63,#101d32 75%);color:#fff5d9;text-align:center;border:2px solid #d4ba7b;border-radius:24px;overflow:auto;box-shadow:0 20px 90px #0008}#intro-dialog::backdrop{background:#07121af2;backdrop-filter:blur(9px)}.intro-stars{color:#f9ce7e;font-size:12px;letter-spacing:4px;font-weight:800}.intro-kicker{font-size:11px;color:#a3c3c8;margin:24px 0 12px}#intro-title{font-size:clamp(28px,6vw,43px);line-height:1.5;letter-spacing:-1px;color:#fff2cd}.intro-crew{display:flex;justify-content:center;gap:5px;margin:28px 0 10px}.intro-crew span{width:45px;animation:intro-hop 1.8s ease-in-out infinite}.intro-crew span:nth-child(2n){animation-delay:-.6s}.intro-crew span:nth-child(3n){animation-delay:-1.2s}.intro-crew svg{width:100%;height:auto}.intro-land{position:relative;height:40px;border-top:7px solid #9bb8a1;background:repeating-linear-gradient(90deg,#273e43 0 28px,#344c4b 28px 31px)}.intro-land span{position:absolute;top:-85px;left:47%;font-size:25px;display:none}.intro-land i{position:absolute;top:9px;width:26px;height:5px;background:#c8bc862d;left:15%}.intro-land i:nth-of-type(2){left:45%}.intro-land i:nth-of-type(3){left:75%}.intro-story{font-size:13px;color:#c6d6d6;line-height:1.9;margin:23px 0 10px}#intro-audio-state{font-size:11px;color:#ffd17e;min-height:18px}#intro-dialog .primary{background:#f0c77f;color:#172b3b;margin-top:17px}#intro-dialog .secondary{display:block;width:100%;margin-top:10px;background:#233b4e;color:#e7e6d1;border-color:#59717a}#intro-dialog .text-button{color:#a6bdc1;margin-top:8px}@keyframes intro-hop{50%{transform:translateY(-8px)}}@media(max-width:500px){.brand{font-size:10px;letter-spacing:1px}.brand small{font-size:8px}.brand-icon{font-size:18px;padding:8px}header .icon-button{font-size:10px;padding:9px 10px}#intro-dialog{padding:28px 18px 18px}.intro-crew{gap:2px}.intro-crew span{width:34px}.intro-stars{font-size:10px;letter-spacing:3px}}@media(prefers-reduced-motion:reduce){.intro-crew span{animation:none}}
#game-settings>label{display:block;margin-top:25px;font-weight:700}#search-style{margin-top:9px;font-size:13px}#explore-value{float:right;color:#d07b4d}#explore-time{accent-color:#306552;width:100%;padding:0;border:0;height:40px}#default-themes{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:16px}.audio-tools{border:1px solid #e2ddc9;background:#f0efe0;padding:16px;border-radius:14px;margin:22px 0}.audio-tools h3{margin-top:0}#audio-status{font-size:12px;line-height:1.7;color:#4e6e61}header{flex-wrap:wrap}@media(max-width:500px){header .brand{flex:1 1 100%}header .icon-button{flex:1}header{padding:12px 0}.brand small{display:inline-block;margin-left:10px}#game-settings{padding:22px}#default-themes{grid-template-columns:repeat(3,1fr)}}

.music-player{display:block;width:100%;margin-top:14px;height:42px}
/* Illustrated adventure art direction */
.adventure{border:5px solid #18374a;border-radius:24px;box-shadow:0 16px 40px #18364a21}.map-bar{background:linear-gradient(110deg,#24495a,#172f44);color:#f6e5c4;border-bottom:1px solid #cfb57866}.map-bar>span:last-child{color:#c9d8c6}.map-bar i{background:#b8f0cc;box-shadow:0 0 8px #a8e9ba}.arcade-stage canvas{image-rendering:auto}.stage-label{background:linear-gradient(100deg,#183448,#29485a);border-bottom:1px solid #e3bd7440}.signal-track{background:linear-gradient(#173246,#0c2439);padding-top:13px;padding-bottom:13px}.signal{background:#ffffff05;border-color:#b7cbbc22;border-radius:11px}.signal .avatar{width:40px;height:49px}.signal b{color:#fff0cf;font-weight:800}.signal.scanning{background:#e9bf7d24;border-color:#f8df9e;box-shadow:0 0 18px #f6c67f33}.crew-profile .pixel-avatar{width:49px;height:58px;background:linear-gradient(145deg,#e5efe6,#f6eacb);border:1px solid #d6ddce;border-radius:12px}.pixel-avatar svg{filter:drop-shadow(0 2px 1px #17344c22)}.party .avatar{width:33px;height:40px}.heading{padding:23px 0}.heading h1{font-size:34px}.intro{margin-top:10px}.mission-panel{background:linear-gradient(#fffdf4,#f4efdf)}.primary{background:linear-gradient(110deg,#214c54,#15384b);box-shadow:0 4px 0 #102e3d}.primary:disabled{box-shadow:none}.crew-panel{box-shadow:0 7px 25px #203f3810}.intro-land{border-top-color:#e7c17e}.intro-crew span{width:51px}.intro-crew svg{filter:drop-shadow(0 5px 2px #0005)}#game-settings{overflow-x:hidden}#explore-time{margin:7px 0 0}@media(max-width:760px){.adventure{border-width:3px;border-radius:19px}.heading{padding:15px 4px}.heading h1{font-size:25px}.intro{margin-top:6px}.signal .avatar{width:29px;height:36px}.signal b{font-size:9px}.signal small{font-size:7px}.stage-label{font-size:8px;letter-spacing:.7px}.intro-crew span{width:36px}.mission-panel{padding:17px 13px}.crew-profile .pixel-avatar{width:48px;height:57px}}
/* Epithet title */
.epithet{display:inline-flex;align-items:center;gap:7px;margin-bottom:6px;font-size:12px;font-weight:800;font-style:italic;letter-spacing:.5px;background:linear-gradient(#c88d3c,#7d4c1b);-webkit-background-clip:text;background-clip:text;color:transparent}.epithet::before,.epithet::after{content:'';width:30px;height:1.5px;background:linear-gradient(90deg,transparent,#d4a04f)}.epithet::after{transform:scaleX(-1)}.epithet b{font-size:7px;font-style:normal;color:#d4a04f;-webkit-text-fill-color:#d4a04f}

.nb{white-space:nowrap}
