@charset "UTF-8";
@font-face{font-family:NeoDunggeunmo;src:url('neodgm.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:light;--back:#d9dfc5;--paper:#f5f2d9;--ink:#263e2d;--muted:#536248;--line:#39553b;--accent:#7f9147;--bar:#29432e;--bar-text:#f5f2d9;--scene-filter:brightness(1) saturate(.9);font-family:NeoDunggeunmo,"Gulim",monospace;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background-color:var(--back);background-image:radial-gradient(var(--accent) .6px,transparent .6px);background-size:8px 8px;color:var(--ink);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px dashed var(--accent);outline-offset:6px}.skip{position:absolute;top:-80px;left:16px;z-index:5;background:var(--bar);color:var(--bar-text);padding:16px}.skip:focus{top:16px}.page-wrap{width:min(1000px,calc(100% - 48px));margin:32px auto 20px}.site-window{border:3px solid var(--line);background:var(--paper);box-shadow:6px 6px 0 var(--line)}.site-header{background:var(--bar);color:var(--bar-text);display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;border-bottom:3px solid var(--line)}.wordmark{font-size:24px;line-height:1;font-weight:400;margin:0}.wordmark a{display:flex;align-items:center;gap:10px}.wordmark img{image-rendering:pixelated}.world-status{display:flex;align-items:center;gap:10px;font-size:14px;white-space:nowrap}#local-time{min-width:5ch}main{padding:24px 24px 16px}.tree-scene{margin:0}.scene-frame{position:relative;overflow:hidden;border:2px solid var(--line);background:#f8edc1}.tree-art{display:block;width:100%;height:auto;image-rendering:pixelated;filter:var(--scene-filter)}figcaption{margin-top:10px;font-size:10px;letter-spacing:1px;color:var(--muted)}footer{margin-top:20px;text-align:center;font-size:12px;color:var(--muted)}.stars,.moon{display:none;position:absolute;pointer-events:none}.stars{top:10%;left:8%;width:3px;height:3px;background:#f8eab7;box-shadow:28px 32px #f8eab7,10px 100px #f8eab7,690px 20px #f8eab7,640px 64px #f8eab7,740px 120px #f8eab7,700px 170px #f8eab7}.moon{top:6%;right:6%;width:22px;height:22px;background:#f8eab7;clip-path:polygon(20% 0,80% 0,80% 20%,100% 20%,100% 80%,80% 80%,80% 100%,20% 100%,20% 80%,0 80%,0 20%,20% 20%)}
html[data-period="night"]{color-scheme:dark;--back:#172b2c;--paper:#213938;--ink:#eee9c8;--muted:#b3c4a4;--line:#9cab83;--accent:#8ea46b;--bar:#142b2c;--bar-text:#eee9c8;--scene-filter:brightness(.46) saturate(.65) hue-rotate(55deg)}
html[data-period="night"] .stars,html[data-period="night"] .moon{display:block}
html[data-period="dusk"]{--back:#cdb39c;--paper:#f4dfb7;--ink:#513e32;--muted:#785c47;--line:#6d5140;--accent:#b77d4d;--bar:#654838;--scene-filter:sepia(.35) saturate(.85) hue-rotate(340deg) brightness(.9)}
html[data-period="morning"]{--back:#d5e0c8;--paper:#f3f3dc;--ink:#304c39;--muted:#596b51;--line:#466347;--accent:#90a060;--bar:#37543b;--scene-filter:brightness(1.06) saturate(.78)}
.error-page{min-height:60vh;display:grid;align-content:center;justify-items:start;gap:20px;padding:40px}.error-page h1,.error-page p{margin:0}.error-page h1{font-size:48px;font-weight:400}.pixel-button{display:inline-block;background:var(--bar);color:var(--bar-text);border:2px solid var(--line);box-shadow:3px 3px 0 var(--accent);padding:8px 18px;min-height:44px}.pixel-button:hover{transform:translate(1px,1px)}
@media(max-width:600px){.page-wrap{width:calc(100% - 28px);margin-top:20px}.site-window{box-shadow:4px 4px 0 var(--line)}.site-header{padding:16px 14px;gap:12px}.wordmark{font-size:20px}.wordmark a{gap:6px}.wordmark img{width:20px;height:20px}.world-status{font-size:12px;gap:6px}main{padding:14px 12px 10px}figcaption{font-size:9px}.stars{box-shadow:20px 32px #f8eab7,4px 100px #f8eab7,230px 12px #f8eab7,250px 80px #f8eab7}.moon{width:16px;height:16px}.error-page{padding:28px 20px}}
/* A small transform moves the crown; the blended ground layer stays fixed.
   Both layers reuse the same cached image, with no animation requests. */
.tree-art{transform-origin:50% 88%;animation:tree-breeze 14s ease-in-out infinite}
.scene-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:url('platanus.webp?v=8bit-1') center/100% 100% no-repeat;filter:var(--scene-filter);mask-image:linear-gradient(to bottom,transparent 76%,#000 88%);-webkit-mask-image:linear-gradient(to bottom,transparent 76%,#000 88%)}
.stars,.moon{z-index:1}
@keyframes tree-breeze{0%,100%{transform:scaleX(1.008) skewX(0deg)}20%{transform:scaleX(1.008) skewX(.2deg)}47%{transform:scaleX(1.008) skewX(-.14deg)}70%{transform:scaleX(1.008) skewX(.12deg)}85%{transform:scaleX(1.008) skewX(0deg)}}
html[data-motion="paused"] .tree-art{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.pixel-button:hover{transform:none}.tree-art{animation:none;transform:none}.scene-frame::after{display:none}}
