:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}img{max-width:100%}.noscript{z-index:20;padding:32px max(16px,env(safe-area-inset-left,0px));color:#3a2a20;background:#ebe8e1;font-family:Gowun Dodum,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,sans-serif;position:fixed;inset:0}:root{--paper:#ebe8e1;--paper-hi:#f4f2ed;--grid:#d3cdc1;--ink:#3a2a20;--ink-soft:#7d6858;--desk:#2d2926;--red:#c4412f;--green:#3e8a49;--hand:"Gowun Dodum","Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;--body:"Gowun Dodum","Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;--title:"Gowun Dodum","Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;color-scheme:light}[hidden]{display:none!important}html,body{height:100%}body{box-sizing:border-box;background:var(--desk);color:var(--ink);font-family:var(--body);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));justify-content:center;align-items:center;margin:0;padding-block:16px;display:flex;overflow:hidden}.gridpaper{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:22px 22px}body.full{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:22px 22px;padding-block:0}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stage{max-width:100%;position:relative}body.framed .stage{aspect-ratio:16/10;border-radius:3px;width:min(1200px,100%,160vh - 51.2px);box-shadow:0 22px 60px #00000080}body.full .stage{background:0 0;width:100%;height:100%}.stage>svg{touch-action:manipulation;width:100%;height:100%;display:block;position:absolute;inset:0}.ink{fill:none;stroke:var(--ink);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.thin{stroke-width:3px}.pf{fill:var(--paper)}.inkf{fill:var(--ink);stroke:none}.hand{font-family:var(--hand);fill:var(--ink);stroke:none}.b{font-weight:700}.hl{stroke:var(--ink);stroke-width:2px}.hl.d{stroke-width:4px}.body{filter:url(#wob)}.hit{fill:#0000}.obj{cursor:pointer;outline:none}.obj:hover .body .ink,.obj:focus-visible .body .ink{stroke-width:5.6px}.obj:hover .body .thin,.obj:focus-visible .body .thin{stroke-width:4.2px}.obj:focus-visible .hit{stroke:var(--ink);stroke-width:3px;stroke-dasharray:10 8}.rays line{stroke:var(--ink);stroke-width:3.5px;stroke-linecap:round}.rays{opacity:.1;animation:3.4s ease-in-out infinite glint}.kp-rays{animation:1.3s ease-in-out infinite glint}@keyframes glint{0%,to{opacity:.08}45%,55%{opacity:.9}}.cursor{animation:1.1s steps(2,start) infinite blink}@keyframes blink{to{visibility:hidden}}.scene{opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s}.scene.on{opacity:1;visibility:visible;transition:opacity .4s}.lid,.flag,.mail-paper,.door-panel,.mat-body,[data-obj=mat] .hit{transform-box:fill-box}.lid{transform-origin:0 100%;transition:transform .4s cubic-bezier(.3,1.5,.5,1)}[data-mail=open] .lid{transform:rotate(-28deg)}.gift-lid,.gift-bow,.gift-card,.conf{transform-box:fill-box}.gift-lid{transform-origin:0 100%;transition:transform .45s cubic-bezier(.3,1.6,.5,1)}[data-gift=open] .gift-lid{transform:translate(-10px,-58px)rotate(-18deg)}.gift-bow{transform-origin:50% 100%;transition:transform .35s ease-out,opacity .3s}[data-gift=open] .gift-bow{opacity:0;transform:translateY(-70px)scale(.5)}.gift-card{opacity:0;transition:transform .5s cubic-bezier(.3,1.4,.5,1) .12s,opacity .25s .12s;transform:translateY(16px)}[data-gift=open] .gift-card{opacity:1;transform:translateY(-70px)}.conf{transform-origin:50%;opacity:0}[data-gift=open] .conf{animation:1s cubic-bezier(.2,.7,.4,1) forwards conf}@keyframes conf{0%{opacity:1;transform:translate(0)rotate(0)}80%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--r))}}[data-obj=keypad]{transition:opacity .3s}[data-door=open] [data-obj=keypad]{opacity:0;pointer-events:none}.mail-inside{opacity:0;transition:opacity .2s}[data-mail=open] .mail-inside{opacity:1}.mail-paper{opacity:0;transition:transform .45s .15s,opacity .3s .15s;transform:translateY(30px)}[data-mail=open] .mail-paper{opacity:1;transform:translateY(-36px)}.door-panel{transform-origin:0%;transition:transform .7s cubic-bezier(.4,0,.2,1)}[data-door=open] .door-panel{transform:matrix(.75,.15,0,1,0,0)}.door-edge,.door-fly{opacity:0;pointer-events:none;transition:opacity .35s .5s}[data-door=open] .door-edge,[data-door=open] .door-fly{opacity:1}.rattle{animation:.38s ease-in-out rattle}@keyframes rattle{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.led{fill:var(--paper)}[data-door=unlocked] .led,[data-door=open] .led{fill:var(--green)}[data-kp=bad] .led{fill:var(--red)}[data-door=unlocked] .kp-rays,[data-door=open] .kp-rays{opacity:0;animation:none}.mat-body{transform-origin:100% 100%;transition:transform .45s cubic-bezier(.3,1.3,.5,1)}[data-mat=up] .mat-body{transform:translate(170px,-4px)rotate(5deg)}[data-obj=mat] .hit{transition:transform .45s}[data-mat=up] [data-obj=mat] .hit{transform:translate(170px)}[data-obj=key]{opacity:0;pointer-events:none;transition:opacity .3s}[data-mat=up][data-key=here] [data-obj=key]{opacity:1;pointer-events:auto}.bar{z-index:4;gap:8px;display:flex;position:absolute;top:10px;right:10px}.pill{font-family:var(--body);letter-spacing:.02em;background:var(--paper);color:var(--ink);border:2.5px solid var(--ink);cursor:pointer;border-radius:10px 14px 9px 13px;padding:6px 13px;font-size:14px;font-weight:500;line-height:1.3}.pill:hover{background:var(--ink);color:var(--paper)}.pill.strong{font-weight:600}.nav{cursor:pointer;z-index:4;width:54px;height:92px;color:var(--ink);background:0 0;border:none;margin-top:-46px;padding:0;position:absolute;top:50%}.nav.l{left:4px}.nav.r{right:4px}.nav svg{width:100%;height:100%;display:block}.nav path{fill:none;stroke:currentColor;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.nav:hover path{stroke-width:7px}.dots{z-index:4;gap:10px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.dots i{border:2.5px solid var(--ink);border-radius:50%;width:11px;height:11px}.dots i.on{background:var(--ink)}.pill:focus-visible,.nav:focus-visible,.go:focus-visible,.keys button:focus-visible,.x:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.tip{z-index:5;pointer-events:none;font-family:var(--body);white-space:nowrap;background:var(--ink);color:var(--paper-hi);opacity:0;border-radius:9px 12px 8px 11px;padding:5px 11px;font-size:14px;font-weight:500;line-height:1.3;transition:opacity .12s;position:absolute;transform:translate(-50%,-140%)}.tip.on{opacity:1}.toast{z-index:7;pointer-events:none;font-family:var(--body);white-space:nowrap;background:var(--ink);color:var(--paper-hi);opacity:0;border-radius:12px;padding:8px 16px;font-size:15px;font-weight:500;transition:opacity .25s,transform .25s;position:absolute;bottom:44px;left:50%;transform:translate(-50%,10px)}.toast.on{opacity:1;transform:translate(-50%)}.veil{z-index:6;background:#2d292666;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.card{word-break:keep-all;overflow-wrap:break-word;box-sizing:border-box;background-color:var(--paper-hi);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);border:2.5px solid var(--ink);width:min(470px,100%);max-height:100%;color:var(--ink);background-size:20px 20px;border-radius:14px 10px 16px 9px;padding:22px 24px 20px;font-size:15px;line-height:1.65;position:relative;overflow:auto;box-shadow:7px 9px #3a2a2047}.card h3{font-family:var(--title);text-wrap:balance;margin:0 44px 4px 0;font-size:25px;font-weight:700;line-height:1.3}.card h4.mini{font-family:var(--title);margin:18px 0 0;font-size:18px;font-weight:700}.card:focus{outline:none}.card p{margin:8px 0 0}.card .sub{color:var(--ink-soft);margin:0 0 6px}.card dl{grid-template-columns:auto 1fr;gap:3px 16px;margin:10px 0 0;display:grid}.card dt{color:var(--ink-soft);font-weight:500}.card dd{min-width:0;margin:0}.card ul.list{margin:8px 0 0;padding-left:20px}.todo{border:2px dashed var(--ink-soft);color:var(--ink-soft);background:var(--paper-hi);border-radius:8px;padding:5px 10px;font-size:13.5px;margin-top:12px!important}.links{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.links.col{flex-direction:column;align-items:flex-start}.go{font-family:var(--body);color:var(--ink);background:var(--paper-hi);border:2.5px solid var(--ink);border-radius:10px 13px 9px 12px;padding:6px 13px;font-size:14.5px;font-weight:500;line-height:1.4;text-decoration:none;display:inline-block}.go:hover{background:var(--ink);color:var(--paper-hi)}.x{z-index:2;width:40px;height:40px;font-family:var(--body);color:var(--ink);cursor:pointer;background:0 0;border:none;font-size:28px;line-height:1;position:absolute;top:8px;right:10px}.shake{animation:.38s ease-in-out rattle}.book{border-left:5px solid var(--ink);background:var(--paper-hi);gap:0;margin-top:10px;padding:8px 12px;display:grid}.book b{font-size:16px;font-weight:500}.book span{color:var(--ink-soft);font-size:14px}.book em{font-style:normal;font-family:var(--title);margin-top:2px;font-size:15px}.hint{font-family:var(--body);font-size:16px;font-weight:500;margin:2px 0 14px!important}.pad{justify-items:center;gap:14px;display:grid}.disp{box-sizing:border-box;border:2.5px solid var(--ink);background:var(--paper-hi);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;width:236px;max-width:100%;padding:6px 14px;display:flex}.digits{font-family:var(--body);letter-spacing:.32em;font-variant-numeric:tabular-nums;font-size:30px}.lamp{border:2.5px solid var(--ink);background:var(--paper-hi);border-radius:50%;flex:none;width:17px;height:17px}.lamp.ok{background:var(--green)}.lamp.bad{background:var(--red)}.keys{grid-template-columns:repeat(3,62px);gap:10px;display:grid}.keys button{height:56px;font-family:var(--body);color:var(--ink);background:var(--paper-hi);border:2.5px solid var(--ink);cursor:pointer;border-radius:50%;padding:0;font-size:22px;font-weight:500}.keys button:hover{background:var(--paper)}.keys button:active{background:var(--ink);color:var(--paper-hi)}.receipt{background:var(--paper-hi);border:2px solid var(--ink);border-radius:4px;margin-top:4px;padding:14px 16px;position:relative}.receipt h3{margin-right:0}.receipt table{border-collapse:collapse;width:100%;margin-top:6px}.receipt th{text-align:left;color:var(--ink-soft);white-space:nowrap;vertical-align:top;padding:3px 14px 3px 0;font-weight:400}.receipt td{border-bottom:1.5px dashed var(--grid);padding:3px 0}.receipt td b{font-family:var(--title);font-size:20px;font-weight:700}.stamp{font-family:var(--title);color:var(--red);border:3px solid var(--red);opacity:.85;border-radius:50%;padding:8px 6px;font-size:16px;font-weight:700;position:absolute;top:12px;right:14px;transform:rotate(-14deg)}.drawer-front{transform-box:fill-box;transform-origin:50% 0;transition:transform .4s cubic-bezier(.3,1.4,.5,1)}[data-drawer=open] .drawer-front{transform:translateY(16px)scale(1.08)}.card.diary{background-image:linear-gradient(transparent 27px,var(--grid) 27px);background-size:100% 28px;border-left-width:10px}.card.diary .empty{font-family:var(--title);margin-top:14px;font-size:18px}.stage{overflow:hidden}.stage>svg.zoom{transition:transform .6s cubic-bezier(.5,0,.75,.4),opacity .6s ease-in}.stage>svg.zoom.in{opacity:.12}.soon{color:var(--ink-soft);font-family:var(--title);margin-top:12px!important}.diary-list{gap:2px;margin:12px 0 0;padding:0;list-style:none;display:grid}.diary-list a{border-bottom:1.5px dashed var(--grid);color:var(--ink);grid-template-columns:auto 1fr;align-items:baseline;gap:0 14px;padding:8px 6px;text-decoration:none;display:grid}.diary-list a:hover{background:var(--paper)}.diary-list span{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:13px}.diary-list b{font-family:var(--title);min-width:0;font-size:17px;font-weight:700}button.go{cursor:pointer}.go.small{padding:4px 10px;font-size:13.5px}.lbl{font-family:var(--body);fill:var(--ink);stroke:none;font-weight:500}.sky{fill:#dbe6ec}[data-sky=eve] .sky{fill:#efd3bd}[data-sky=night] .sky{fill:#3b4350}.sun{fill:#f3e3a3;stroke:none}[data-sky=eve] .sun{fill:#e7a06a}.moon{fill:#f2edd6;stroke:none;display:none}.stars circle{fill:#f2edd6;stroke:none}.stars,[data-sky=night] .sun{display:none}[data-sky=night] .moon,[data-sky=night] .stars{display:inline}.wig,.rise,.lift,.notes{transform-box:fill-box}.wig{transform-origin:50% 0}.obj.poked .wig{animation:.5s ease-in-out wig}@keyframes wig{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}50%{transform:rotate(4deg)}75%{transform:rotate(-2deg)}}.rise{transform-origin:50% 100%}.obj.poked .rise{animation:.6s cubic-bezier(.3,1.5,.5,1) rise}@keyframes rise{0%,to{transform:translateY(0)}45%{transform:translateY(-24px)}}.lift{transform-origin:0 100%}.obj.poked .lift{animation:.7s ease-in-out lift}@keyframes lift{0%,to{transform:rotate(0)}40%,60%{transform:rotate(-24deg)}}.notes{opacity:0}.obj.poked .notes{animation:1s ease-out notes}@keyframes notes{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(-50px)}}.glow{fill:var(--paper)}.obj.poked .glow{animation:.9s ease-out glow}@keyframes glow{0%,to{fill:var(--paper)}30%,70%{fill:#f3dd9a}}@media (prefers-reduced-motion:reduce){.obj.poked .wig,.obj.poked .rise,.obj.poked .lift,.obj.poked .notes,.obj.poked .glow{animation:none}.stage>svg.zoom,.drawer-front{transition:none}.rays,.kp-rays,.cursor{opacity:.7;animation:none}.scene,.lid,.mail-paper,.door-panel,.mat-body,.toast,.gift-lid,.gift-bow,.gift-card{transition:none}.conf{display:none}.rattle,.shake{animation:none}}
