@font-face{font-family:Pretendard;src:url('assets/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--void:#000;--white:#fff;--border:#4d4d4d;--muted:#c6c6c6;--ghost:#ffffff1a;--font:Pretendard,Inter,Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:var(--void);color:var(--white);font-family:var(--font);letter-spacing:0}body{overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid white;outline-offset:5px}#film{height:100svh;position:relative;min-height:480px;overflow:hidden}#stage{position:absolute;inset:0}#stage canvas{display:block;width:100%;height:100%}header{position:absolute;z-index:2;top:28px;left:40px;right:40px;display:flex;align-items:center;justify-content:space-between;height:44px}.wordmark{text-decoration:none;color:white;font-weight:700;font-size:20px;display:flex;align-items:center;gap:20px}.wordmark span{font-size:10px;font-weight:400;color:var(--muted)}.edition{font-size:10px;color:var(--muted)}.icon-button{width:44px;height:44px;display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--border);border-radius:5px;background:transparent;flex-shrink:0}.icon-button:hover{background:var(--ghost);border-color:var(--muted)}.icon-button svg{width:18px;height:18px;stroke-width:1.5}.identity{position:absolute;left:40px;top:124px;z-index:1;pointer-events:none}.eyebrow{font-size:10px;line-height:1.5;margin:0 0 12px;color:var(--muted)}h1{font-size:72px;line-height:1.2;font-weight:500;margin:0 0 14px}.dedication{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.side-label{position:absolute;right:40px;top:50%;writing-mode:vertical-rl;font-size:10px;color:var(--muted)}.scene-caption{position:absolute;bottom:160px;left:30%;right:30%;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;pointer-events:none}.scene-caption span{font-size:10px;color:var(--muted)}.scene-caption p{font-size:16px;font-family:Georgia,'Batang',serif;line-height:1.88;white-space:nowrap;margin:0;overflow:hidden}.scene-caption p::after{content:'';display:block;height:1px;width:28px;background:var(--border);margin:14px auto 0}footer{position:absolute;bottom:28px;left:40px;right:40px;z-index:3}nav{display:flex;gap:28px;margin-bottom:24px}nav button{display:flex;align-items:center;gap:8px;min-width:70px;height:36px;background:none;padding:0;border:0;font-size:12px;color:var(--muted)}nav button span{font-size:10px;opacity:.5}nav button[aria-current]{color:white}nav button[aria-current]::before{content:'';width:4px;height:4px;background:white}nav button:hover{color:white}.transport{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--muted)}#scrub{flex:1;min-width:30px;appearance:none;height:24px;background:transparent;cursor:pointer;margin:0 6px}#scrub::-webkit-slider-runnable-track{height:1px;background:linear-gradient(to right,#fff 0%,#fff var(--progress,0%),#4d4d4d var(--progress,0%),#4d4d4d 100%)}#scrub::-webkit-slider-thumb{appearance:none;width:9px;height:9px;background:white;border:0;border-radius:0;margin-top:-4px}#scrub::-moz-range-track{height:1px;background:var(--border)}#scrub::-moz-range-thumb{width:9px;height:9px;border:0;background:white;border-radius:0}.signature{margin-left:28px;font-size:10px;white-space:nowrap}#time,.duration{font-variant-numeric:tabular-nums;min-width:32px}#error{position:absolute;top:45%;left:20%;right:20%;font-size:16px;line-height:1.88;text-align:center;background:#000c;padding:20px}.fallback{position:absolute;top:25%;left:20%;right:20%;line-height:2}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){header{left:20px;right:20px;top:20px}.wordmark{font-size:18px;gap:12px}.edition{display:none}.identity{left:20px;top:100px}h1{font-size:48px}.eyebrow{font-size:10px;max-width:200px}.dedication{font-size:12px}.side-label{right:20px;font-size:10px}.scene-caption{left:16px;right:16px;bottom:176px}.scene-caption p{font-size:14px;white-space:normal}.scene-caption p::after{margin-top:10px}footer{left:20px;right:20px;bottom:24px}nav{gap:0;justify-content:space-between;margin-bottom:16px}nav button{min-width:0;gap:5px;font-size:12px;height:44px}nav button span{font-size:10px}.signature{display:none}.transport{gap:8px}.transport .icon-button{width:40px;height:44px}#restart{display:none}#scrub{margin:0 2px}}
@media(max-height:600px) and (min-width:701px){.identity{top:90px}h1{font-size:48px}.scene-caption{bottom:136px}nav{margin-bottom:12px}footer{bottom:16px}}
@media(max-width:700px){.side-label{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
#world-link{position:absolute;z-index:3;bottom:190px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:13px;min-height:44px;padding:8px 0;border-bottom:1px solid #ffffff65;white-space:nowrap}#world-link[hidden]{display:none}#world-link:hover{border-color:#65d5c1;color:#65d5c1}#world-link svg{width:18px;height:18px}.identity{will-change:opacity}.scene-caption p{white-space:normal;max-width:100%;text-wrap:balance}.ending .scene-caption{bottom:264px}.ending .scene-caption p{font-size:20px}@media(max-width:700px){#world-link{bottom:188px;font-size:12px}nav button span{display:none}nav button{font-size:11px}.ending .scene-caption p{font-size:17px}}@media(max-height:600px) and (min-width:701px){#world-link{bottom:168px}.ending .scene-caption{bottom:236px}}
.header-actions{display:flex;gap:8px}.header-actions a{color:inherit;text-decoration:none}#share:disabled{opacity:.5;cursor:wait}#share-status{position:absolute;top:80px;right:40px;font-size:11px;color:var(--muted);z-index:4}#share-dialog{width:min(420px,calc(100% - 40px));padding:24px;border:1px solid var(--border);border-radius:5px;background:#000;color:#fff}#share-dialog::backdrop{background:#000a}#share-dialog form{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}#share-dialog h2{font-size:18px;font-weight:500;margin:0}#share-link{width:100%;min-width:0;padding:12px;background:#111;color:#fff;border:1px solid var(--border);font:13px var(--font)}@media(max-width:700px){.header-actions .icon-button{width:40px;height:44px}#share-status{top:76px;right:20px}}@media(max-width:380px){.wordmark span{display:none}}
#sound[aria-pressed="true"]{border-color:var(--muted);background:var(--ghost)}#sound[data-status="loading"],#sound[data-status="buffering"]{opacity:.6}#sound-status{position:absolute;right:40px;bottom:148px;max-width:300px;font-size:11px;line-height:1.7;color:var(--muted);background:#000c;padding:8px 12px;z-index:4}#sound[data-status="error"]{border-color:#ff6248}@media(max-width:700px){#sound-status{left:20px;right:20px;bottom:140px;max-width:none}}
#film{min-height:0;height:100dvh}
.scene-caption p{word-break:keep-all;overflow-wrap:break-word}
@media(max-width:700px){
  #stage{top:84px;bottom:340px}
  .ending #stage{bottom:340px}
  header{top:max(12px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}
  footer{bottom:max(16px,env(safe-area-inset-bottom));left:16px;right:16px}
  .identity{left:16px;right:16px;top:84px;display:grid;grid-template-columns:72px 1fr;align-items:center;gap:12px}
  .identity .eyebrow{display:none}
  .identity h1{font-size:36px;margin:0}
  .identity .dedication{font-size:11px;line-height:1.7}
}
@media(max-width:700px) and (max-height:650px){
  #stage{top:104px;bottom:304px}
  .ending #stage{bottom:304px}
  .scene-caption{bottom:132px}
  .ending .scene-caption{bottom:224px}
  #world-link{bottom:160px}
  nav{margin-bottom:8px}
  .identity .eyebrow{margin-bottom:6px}
  .identity{top:64px}
  .identity h1{font-size:36px;margin:0}
}
@media(max-height:500px) and (min-aspect-ratio:4/3){
  header{top:max(8px,env(safe-area-inset-top));left:16px;right:16px}
  .edition,.side-label,.signature,.wordmark span{display:none}
  #stage,.ending #stage{top:64px;bottom:104px;right:232px}
  .identity{top:72px;left:16px;right:auto;display:block}
  .identity h1{font-size:32px;margin-bottom:6px}
  .identity .eyebrow{font-size:9px;margin-bottom:4px}
  .dedication{font-size:11px}
  .scene-caption,.ending .scene-caption{top:88px;bottom:auto;left:auto;right:16px;width:200px;gap:8px}
  .scene-caption p,.ending .scene-caption p{font-size:14px;line-height:1.7}
  #world-link{top:176px;bottom:auto;left:auto;right:16px;width:200px;justify-content:center;transform:none;font-size:12px}
  footer{left:16px;right:16px;bottom:max(12px,env(safe-area-inset-bottom))}
  nav{margin-bottom:6px;gap:0;justify-content:space-between}
  nav button{height:32px;min-width:0;font-size:11px}
  nav button span{display:none}
  .transport{gap:8px}
  #restart{display:none}
  #sound-status{right:16px;left:auto;bottom:104px;max-width:200px}
}
