html,body{-webkit-user-select:none;user-select:none;touch-action:none;cursor:none;background:#000;height:100%;margin:0;font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,sans-serif;overflow:hidden}body.debug{cursor:crosshair}#stage{width:100%;height:100%;display:block;position:fixed;inset:0}#clock{text-align:center;color:#4a3f36;pointer-events:none;position:fixed;top:3vh;left:0;right:0}#clock .time{letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:7vmin;font-weight:700}#clock .colon{animation:2s step-end infinite blink}#clock .date{opacity:.75;font-size:2.4vmin}@keyframes blink{50%{opacity:.2}}#hud{color:#cfe;pointer-events:none;background:#000000a6;border-radius:6px;min-width:220px;padding:8px 10px;font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;position:fixed;bottom:8px;left:8px}#hud div{justify-content:space-between;gap:12px;display:flex}#hud b{color:#fff;font-weight:600}.fatal{color:#fcc;white-space:pre-wrap;background:#400;margin:0;padding:12px;font-size:14px;position:fixed;inset:auto 0 0}[hidden]{display:none!important}#guide{--ink:#3b322b;--sub:#7a6d62;--card:#fffcf8eb;--accent:#ff8a65;pointer-events:none;color:var(--ink);position:fixed;inset:0}#guide .panel,#guide .hint,#guide .menu,#guide .detail{pointer-events:auto}#guide .bubble{text-align:center;white-space:pre-line;background:#fff;border-radius:4vmin;max-width:78vw;padding:1.6vmin 3.4vmin;font-size:3.6vmin;font-weight:700;line-height:1.35;transition:top .8s;position:absolute;top:19vh;left:50%;transform:translate(-50%);box-shadow:0 1vmin 3vmin #503c282e}#guide[data-mode=menu] .bubble,#guide[data-mode=detail] .bubble{top:9vh}#guide .bubble:after{content:"";border:1.8vmin solid #0000;border-top-color:#fff;border-bottom:0;position:absolute;bottom:-1.8vmin;left:50%;transform:translate(-50%)}#guide .bubble.pop{animation:.35s cubic-bezier(.3,1.6,.6,1) bubble-pop}@keyframes bubble-pop{0%{opacity:0;transform:translate(-50%)scale(.6)}}#guide .panel{position:absolute;bottom:3vh;left:4vw;right:4vw}#guide .panel.in .card{animation:.6s cubic-bezier(.2,.9,.3,1.1) card-in}@keyframes card-in{0%{opacity:0;transform:translateY(30%)}}#guide .card{background:var(--card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:4vmin;align-items:stretch;gap:3vmin;padding:2.6vmin;display:flex;box-shadow:0 1.5vmin 5vmin #503c2838}#guide .visual{aspect-ratio:1;background-position:50%;background-size:cover;border-radius:3vmin;flex:none;place-items:center;width:24vmin;display:grid}#guide .visual span{filter:drop-shadow(0 .6vmin .8vmin #0003);font-size:12vmin}#guide .body{flex-direction:column;flex:1;justify-content:center;gap:.8vmin;min-width:0;display:flex}#guide .chip{color:#c4532f;background:#ffe3d6;border-radius:99px;align-self:flex-start;padding:.4vmin 1.8vmin;font-size:2.3vmin;font-weight:700}#guide h2{letter-spacing:-.02em;margin:0;font-size:5.2vmin}#guide .card p{color:var(--sub);margin:0;font-size:2.9vmin;line-height:1.4}#guide .meta{align-items:center;gap:1vmin;margin-top:.6vmin;font-size:2.6vmin;font-weight:600;display:flex}#guide .dir,#guide .arrow{transform:rotate(var(--rot));color:var(--accent);place-items:center;display:inline-grid}#guide .dir svg{width:2.8vmin;height:2.8vmin}#guide .arrow svg{width:9vmin;height:9vmin}#guide .qr{text-align:center;color:var(--sub);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.6vmin;font-size:2vmin;font-weight:600;animation:.5s ease-out card-in;display:flex}#guide .qr img{background:#fff;border-radius:1.5vmin;width:17vmin;height:17vmin;padding:.6vmin}#guide .hint{color:#fff;background:#3b322bbf;border-radius:99px;padding:1vmin 3vmin;font-size:2.6vmin;font-weight:600;animation:2.4s ease-in-out infinite hint-pulse;position:absolute;bottom:calc(3vh + 31vmin);left:50%;transform:translate(-50%)}@keyframes hint-pulse{50%{opacity:.75;transform:translate(-50%)translateY(-.8vmin)}}#guide .menu{background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:4vmin;flex-direction:column;padding:3vmin;animation:.45s cubic-bezier(.2,.9,.3,1.1) card-in;display:flex;position:absolute;inset:48vh 4vw 3vh;box-shadow:0 1.5vmin 5vmin #503c2840}#guide .menu header{justify-content:space-between;align-items:center;margin-bottom:2vmin;display:flex}#guide .menu h1{margin:0;font-size:5vmin}#guide button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0}#guide .close{background:#f1e8df;border-radius:50%;width:9vmin;height:9vmin;font-size:4vmin}#guide .grid{flex:1;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:2.4vmin;display:grid;overflow:auto}#guide .tile{text-align:left;background:#fff;border-radius:3vmin;flex-direction:column;align-items:flex-start;gap:.6vmin;padding:1.8vmin;transition:transform .12s;display:flex;box-shadow:0 .5vmin 1.5vmin #503c281a}#guide .tile:active{transform:scale(.96)}#guide .tile .visual{aspect-ratio:auto;flex:1;width:100%;min-height:10vmin}#guide .tile .visual span{font-size:9vmin}#guide .tile strong{font-size:3vmin}#guide .tile small{color:var(--sub);font-size:2.3vmin}#guide .detail{position:absolute;inset:44vh 4vw 3vh}#guide .sheet{box-sizing:border-box;background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:4vmin;flex-direction:column;gap:2vmin;height:100%;padding:3vmin;animation:.45s cubic-bezier(.2,.9,.3,1.1) card-in;display:flex;box-shadow:0 1.5vmin 5vmin #503c2840}#guide .sheet>.visual{aspect-ratio:auto;width:100%;height:12vmin}#guide .sheet>.visual span{font-size:8vmin}#guide .sheet .body{justify-content:flex-start;overflow:auto}#guide .sheet p{color:var(--sub);margin:0;font-size:3vmin;line-height:1.5}#guide .sheet .hours{color:var(--ink);font-weight:600}#guide .way{background:#fff4ec;border-radius:3vmin;align-items:center;gap:2.4vmin;margin-top:1vmin;padding:2vmin;display:flex}#guide .wayText{flex-direction:column;flex:1;gap:.6vmin;display:flex}#guide .wayText strong{font-size:3.6vmin}#guide .wayText span{color:var(--sub);font-size:2.6vmin}#guide .actions{gap:2vmin;display:flex}#guide .actions button{background:#f1e8df;border-radius:3vmin;flex:1;padding:2.4vmin;font-size:3.2vmin;font-weight:700}#guide .actions .home{background:var(--accent);color:#fff}.confetti{pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti i{border-radius:.2vmin;animation:linear forwards confetti-fall;position:absolute;top:-3vmin}@keyframes confetti-fall{to{transform:translate(var(--drift), 105vh) rotate(var(--spin))}}#campreview{pointer-events:none;z-index:10;border:1px solid #333;border-radius:6px;position:fixed;bottom:8px;right:8px}#hud{z-index:10}#soundboard{z-index:20;grid-template-columns:repeat(3,1fr);gap:1.6vmin;display:grid;position:fixed;top:14vh;left:3vw;right:3vw}#soundboard button{color:#3b322b;cursor:pointer;background:#ffffffeb;border:0;border-radius:2.4vmin;flex-direction:column;align-items:center;gap:.4vmin;padding:2.2vmin 1vmin;font:700 3.4vmin/1.1 inherit;display:flex;box-shadow:0 .6vmin 1.6vmin #00000026}#soundboard small{color:#8a7d72;font-size:2vmin;font-weight:500}
