@font-face{font-family:Pretendard;src:url('/fonts/PretendardVariable.woff2') format('woff2');font-display:swap}@font-face{font-family:Gowun;src:url('/fonts/GowunBatang-Regular.ttf');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f5ed;color:#303d31;font-family:Pretendard,system-ui,sans-serif;font-size:15px;line-height:1.65}button,input,textarea,select{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a085bc;outline-offset:4px}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Gowun,serif;font-weight:400;letter-spacing:-.055em}em{font-style:normal;color:#67845b}.site-header{height:106px;max-width:1400px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #38443121}.brand{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:700;letter-spacing:-1px;line-height:1.2}.brand>span{font-size:23px}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:500;margin-top:7px}.site-header nav{display:flex;align-items:center;gap:35px;font-size:13px}.button{background:#384f3b;color:#fff9eb;border:0;padding:17px 25px;border-radius:6px;display:inline-flex;align-items:center;gap:40px;font-size:15px;font-weight:550;transition:background .2s,transform .2s}.button:hover{background:#54704e;transform:translateY(-2px)}.button.small{padding:10px 18px;font-size:13px}.hero{max-width:1400px;padding:70px 5% 55px;margin:auto;display:grid;grid-template-columns:.9fr 1.2fr;min-height:640px;align-items:center}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:550;display:block}.eyebrow i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6e8c58;margin-right:8px}.hero h1{font-size:clamp(44px,4.6vw,68px);line-height:1.3;margin:25px 0}.hero-copy>p{font-size:16px;color:#788071;line-height:1.9;margin-bottom:30px}.quiet{font-size:12px;color:#83877c;margin-top:18px}.hero-art{height:480px;position:relative;background:radial-gradient(ellipse,#dfe5cf70,transparent 70%)}#preview{position:absolute;inset:-40px -20px 0}canvas{display:block;width:100%;height:100%}.floating-note{position:absolute;font-family:Gowun,serif;background:#f6e4ae;padding:20px 28px;box-shadow:2px 6px 15px #6d695119;transform:rotate(-9deg);font-size:17px;line-height:1.6}.note-one{top:14px;left:30px}.floating-note span{position:absolute;right:8px;top:-13px;font-size:30px;color:#9f8654}.art-caption{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);white-space:nowrap;letter-spacing:3px;font-size:9px;color:#899080}.world-sticker{position:absolute;right:0;bottom:40px;border:1px solid #7f9370;border-radius:50%;width:108px;height:108px;display:grid;align-content:center;text-align:center;font-size:12px;transform:rotate(12deg);background:#edf0dfb0}.world-sticker b{font-size:14px}.ticker{display:flex;gap:55px;justify-content:center;align-items:center;padding:19px;background:#e9ecdf;border-top:1px solid #dce2d2;border-bottom:1px solid #dce2d2;color:#66745a;font-size:13px}.ticker b{font-size:20px;font-weight:400}.places{max-width:1400px;padding:90px 5%;margin:auto}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:35px}.section-heading h2{font-size:36px;margin-top:12px}.section-heading>p{font-size:13px;color:#818678}.place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.place-card{border:1px solid #525c3620;padding:28px;border-radius:9px;transition:transform .2s}.place-card:hover{transform:translateY(-5px)}.lavender{background:#e9e5f0}.honey{background:#f4ebd0}.sage{background:#e4ebdc}.rose{background:#f0ddd4}.card-number{font-size:10px;letter-spacing:1px;color:#6d7165}.card-drawing{height:160px;display:flex;align-items:center;justify-content:center;font-family:Gowun,serif;font-size:70px;color:#857996;gap:15px}.card-drawing .line{font-size:22px;transform:rotate(-5deg);line-height:1.6;color:#60596d}.place-card h3{font-size:26px;margin:10px 0}.place-card p{font-size:13px;line-height:1.9;color:#6b7063}.card-arrow{display:block;font-size:12px;margin-top:28px;border-top:1px solid #646b5525;padding-top:16px}.notes-drawing span{font-size:15px;padding:15px;background:#fff8d4;transform:rotate(-10deg);box-shadow:2px 5px 0 #675c3b12}.notes-drawing span+span{background:#e4e8d3;transform:rotate(10deg);margin-left:-12px}.timer-drawing{font-family:Pretendard,sans-serif;font-size:56px;font-weight:250;position:relative;gap:0;color:#6a7a5b}.timer-drawing>span{opacity:.55}.timer-drawing small{position:absolute;bottom:12px;font-size:10px;letter-spacing:2px}.about{padding:40px 5% 100px;max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 1.5fr;gap:70px;align-items:center}.about h2{font-size:32px;margin:17px 0 22px}.about p{font-size:14px;color:#79816f;line-height:1.9}.text-link{display:inline-block;border-bottom:1px solid #7c8970;margin-top:25px;font-size:14px}.worm-portrait{background:#e7eadb;aspect-ratio:1;border-radius:50% 50% 46% 46%;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:55px}.worm-portrait>span{font-family:Gowun;font-size:14px}.worm-css{width:175px;height:80px;position:relative;margin-top:50px}.worm-css i{position:absolute;display:block;width:67px;height:67px;border-radius:50%;background:#8ca775;bottom:0;box-shadow:inset -5px -6px 0 #0000000d}.worm-css i:nth-child(2){left:46px;bottom:10px}.worm-css i:nth-child(3){left:92px;bottom:25px;width:82px;height:82px;background:#a1b781}.worm-css>span{position:absolute;right:9px;top:-8px;font-size:27px;transform:rotate(-5deg)}footer{border-top:1px solid #dce0d1;display:flex;align-items:center;justify-content:space-between;padding:35px 5%;font-size:12px;color:#818775}footer .brand{font-size:22px}footer small{font-size:10px}.game{overflow:hidden;background:#e8ecdc}#world{position:fixed;inset:0}#labels{position:fixed;inset:0;pointer-events:none}.avatar-label{position:absolute;background:#fffdf4d9;border:1px solid #d8decc;padding:2px 10px;font-size:11px;border-radius:20px;transform:translate(-50%,-100%);white-space:nowrap}.game-header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:25px 35px;pointer-events:none}.game-header>*{pointer-events:auto}.game-status{display:flex;align-items:center;gap:15px;font-size:12px}.paper-button{border:1px solid #7c896730;background:#fffcf0eb;border-radius:6px;padding:10px 15px;font-size:12px;box-shadow:0 4px 15px #273c2410}.paper-button:hover{background:#fff}.world-heading{position:fixed;top:120px;left:36px;pointer-events:none}.world-heading h1{font-size:31px;margin:8px 0}.world-heading p{font-size:12px;color:#7d866c}.world-side{position:fixed;left:35px;top:260px;display:grid;gap:10px;width:190px}.world-side button{text-align:left;border:1px solid #fff8;background:#fffdf0df;border-radius:9px;padding:14px 14px 14px 47px;position:relative;box-shadow:0 6px 25px #3b4d3010;transition:transform .2s}.world-side button:hover{transform:translateX(5px)}.world-side button>span{position:absolute;left:16px;top:17px;font-size:22px;color:#788769}.world-side b{display:block;font-size:13px;font-weight:550}.world-side small{display:block;font-size:10px;color:#8a8c7f}.bottom-hud{position:fixed;bottom:24px;left:35px;right:35px;display:flex;gap:10px;align-items:center}.controls{margin-right:auto;font-size:11px;color:#707b62;background:#fdfbf0b0;padding:8px 12px;border-radius:5px}kbd{font:10px Pretendard;border:1px solid #a3ac96;padding:2px 4px;margin-right:3px;border-radius:3px}.fallback-world{display:grid;place-content:center;text-align:center;padding:230px 20px 160px;height:100%;color:#697e58;background:radial-gradient(ellipse,#f6f3dd,#dae5c9)}.fallback-world h2{font-size:44px}.fallback-world p{font-size:14px}dialog{border:1px solid #e0dfd1;background:#fbf9f1;color:#303d31;border-radius:16px;padding:35px;box-shadow:0 30px 120px #18241030;width:min(520px,calc(100% - 28px));max-height:88dvh;overflow:auto}dialog::backdrop{background:#2b372744;backdrop-filter:blur(7px)}dialog h2{font-size:34px;line-height:1.4;margin:12px 0}dialog p{font-size:13px;color:#7c8272}dialog form>label{display:block;margin:20px 0 0;font-size:12px;font-weight:550}label>span{color:#969a8c;font-weight:400;font-size:11px}input:not([type=radio]),textarea,select{width:100%;border:1px solid #dadfcf;background:#fffef8;color:#303d31;border-radius:6px;padding:12px;margin-top:7px;outline-offset:1px}textarea{resize:vertical;min-height:100px;line-height:1.8;font-size:14px}fieldset{margin:20px 0;border:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}legend{font-size:12px;margin-bottom:10px}.swatch{font-size:11px;border-radius:20px;padding:7px 10px;cursor:pointer}.swatch:has(input:checked){outline:2px solid #687b57}.swatch input{accent-color:#56734d;margin:0 4px 0 0}details{margin-top:18px;font-size:12px}summary{cursor:pointer}.link-row{display:grid;grid-template-columns:1fr 1.7fr;gap:6px}dialog .form-note{font-size:10px;margin:18px 0}dialog .button{width:100%;justify-content:center;margin-top:10px}#join-error{color:#a45143}.text-button{background:none;border:0;font-size:12px;padding:10px;display:block;margin:auto}#panel{width:min(660px,calc(100% - 28px));padding:36px}.close{position:absolute;right:18px;top:12px;background:none;border:0;font-size:30px;color:#939886}.panel-intro{margin-bottom:22px}.panel-intro h2{font-size:32px}.panel-intro p{margin:8px 0}.section-tag{font-size:10px;letter-spacing:2px;color:#8a927a}.progress{height:5px;border-radius:9px;background:#e3e4da;margin:20px 0 10px;overflow:hidden}.progress>i{display:block;height:100%;background:#a08bb5}.story{background:#f0ece4;border-radius:7px;padding:24px;margin:20px 0;max-height:300px;overflow:auto}.story-empty{font-family:Gowun;font-size:21px;color:#72796a}.sentence{margin-bottom:18px}.sentence p{font-family:Gowun;color:#41493b;font-size:18px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.sentence small{color:#999b8c;font-size:10px}.meta{display:flex;justify-content:space-between;font-size:11px;color:#949a88}.notice{background:#eceddf;padding:12px;border-radius:5px;font-size:11px!important;margin:14px 0!important}.notes{display:grid;grid-template-columns:1fr 1fr;gap:15px;max-height:330px;overflow:auto;padding:8px 2px;margin-top:20px}.note{padding:18px 18px 12px;border-radius:1px;box-shadow:2px 4px 0 #6765450a;position:relative}.note:nth-child(odd){transform:rotate(-1deg)}.note p{font-family:Gowun;font-size:17px;line-height:1.8;white-space:pre-wrap;color:#535d48;overflow-wrap:anywhere}.note small{font-size:10px;color:#898b79;display:block;margin-top:10px}.note button{float:right;font-size:10px;background:none;border:0;color:#7d836c}.empty{padding:25px 0;color:#8d9480;font-size:13px;grid-column:1/-1}.timer{text-align:center;padding:20px 0}.timer-display{font-size:68px;font-weight:200;letter-spacing:3px;line-height:1.4}.timer-options{display:flex;justify-content:center;gap:8px;margin:15px 0}.timer-options button.active{background:#4d6546;color:white}.writing-text{min-height:230px}.writing-tools{display:flex;gap:10px;align-items:center;margin-top:10px}.writing-tools>span{margin-right:auto;font-size:10px;color:#818a74}.people{display:grid;gap:12px;margin-top:20px}.person{border:1px solid #dfe4d3;border-radius:8px;padding:18px;display:flex;gap:16px}.person .dot{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:21px}.person h3{font:600 15px Pretendard;letter-spacing:0}.person p{font-size:12px;margin:4px 0}.person a{display:inline-block;font-size:11px;border:1px solid #d5ddc9;border-radius:20px;padding:3px 9px;margin:6px 5px 0 0}.archive{margin-top:25px;border-top:1px solid #ddd;padding-top:15px}.archive button{margin:5px}#toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#354b3c;color:#fffbea;border-radius:7px;padding:13px 23px;font-size:13px;box-shadow:0 5px 30px #24342420;z-index:10;max-width:90%;display:none}#toast.show{display:block}.fallback-mode .world-side{left:50%;top:45%;transform:translateX(-50%);width:80%;max-width:700px;grid-template-columns:1fr 1fr}.fallback-mode .world-heading{top:140px;left:10%}.fallback-mode .controls{display:none}.fallback-mode #world{opacity:.35}
@media(min-width:1600px){.hero{padding-top:100px;padding-bottom:100px}.hero-art{height:540px}}@media(max-width:900px){.site-header{padding:0 5%;height:85px}.site-header nav>a:not(.button){display:none}.hero{grid-template-columns:1fr 1.1fr;padding-top:45px;min-height:530px}.hero h1{font-size:44px}.hero-copy>p{font-size:14px}.hero-art{height:400px}.floating-note{font-size:13px;padding:15px}.note-one{left:5px}.world-sticker{width:90px;height:90px;font-size:11px;right:-5px;bottom:10px}.art-caption{display:none}.ticker{gap:20px;font-size:10px}.place-card{padding:20px}.place-card h3{font-size:23px}.place-card p{font-size:12px}.about{gap:30px}.about h2{font-size:27px}.game-header{padding:20px}.world-heading{left:20px;top:100px}.world-side{left:20px;top:230px;width:170px}.bottom-hud{left:20px;right:20px}.controls{font-size:0}.controls kbd{font-size:10px}.game-status{gap:8px}footer small{max-width:130px}}@media(max-width:600px){.site-header{height:80px}.brand>span{font-size:21px}.site-header .button{font-size:11px;padding:10px 12px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:40px 6% 20px}.hero h1{font-size:46px;margin:18px 0}.hero-copy>p{font-size:14px}.hero-art{height:320px;margin-top:15px}.hero-copy .eyebrow{font-size:9px}.hero .button{padding:14px 20px}.hero .quiet{font-size:10px}.note-one{top:20px;left:10px}.world-sticker{bottom:20px;right:10px}.ticker{gap:15px;overflow:hidden;white-space:nowrap;justify-content:flex-start;padding-left:20px}.ticker span{flex-shrink:0}.places{padding:50px 6%}.section-heading h2{font-size:28px}.section-heading>p{display:none}.place-grid{grid-template-columns:1fr}.place-card{padding:24px}.card-drawing{height:130px}.about{display:flex;flex-direction:column;padding:10px 6% 60px;align-items:stretch;gap:35px}.worm-portrait{width:230px;align-self:center;gap:20px}.worm-css{transform:scale(.8);margin-top:10px}.worm-portrait>span{font-size:12px}.about h2{font-size:26px}footer{flex-wrap:wrap;gap:20px}footer small{max-width:none;width:100%}.game-header{padding:16px}.game-header .brand>span{font-size:18px}.game-header .brand small{font-size:8px;letter-spacing:1px}.game-status{flex-direction:column;align-items:end;gap:5px;font-size:10px}.game-status button{font-size:10px;padding:7px 10px}.world-heading{top:100px;left:20px}.world-heading h1{font-size:26px}.world-heading p{font-size:10px;max-width:220px}.world-side{left:12px;right:12px;top:auto;bottom:80px;width:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.world-side button{text-align:center;padding:10px 4px;border-radius:7px}.world-side button>span{position:static;display:block;font-size:21px}.world-side b{font-size:10px}.world-side small{display:none}.bottom-hud{bottom:20px;left:12px;right:12px;gap:6px;justify-content:center}.bottom-hud .paper-button{font-size:10px;padding:9px 10px}.controls{display:none}.world-heading .eyebrow{font-size:9px}dialog,#panel{padding:25px 22px;max-height:90dvh}dialog h2{font-size:29px}.notes{gap:10px}.note{padding:14px}.note p{font-size:15px}.panel-intro h2{font-size:29px}.fallback-mode .world-side{bottom:auto}.fallback-mode .world-heading{left:20px}.fallback-mode .world-side button{padding:20px 10px}.fallback-mode .world-side b{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.announcement-banner{position:fixed;top:92px;left:50%;transform:translateX(-50%);max-width:45%;padding:10px 18px;background:#fffbdfef;border:1px solid #dcd6b6;border-radius:8px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;z-index:2}[hidden]{display:none!important}@media(max-width:600px){.announcement-banner{top:176px;max-width:none;width:90%;font-size:11px}}
.entry-gate{position:fixed;inset:0;z-index:8;background:#e8ecdc99;display:grid;place-items:center;backdrop-filter:blur(5px)}.entry-gate form{max-width:420px;width:90%;padding:30px;background:#fcfaef;border-radius:15px;box-shadow:0 15px 60px #344c3b22}.entry-gate h2{font-size:28px}.entry-gate p{font-size:13px;margin:18px 0}.entry-gate label{font-size:12px}.entry-gate .button{margin-top:20px;width:100%;justify-content:center}#profile-button{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){#profile-button{max-width:175px}}
