@font-face{font-family:Noto Sans KR;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/noto-sans-kr-400.woff2) format("woff2")}@font-face{font-family:Noto Sans KR;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/noto-sans-kr-500.woff2) format("woff2")}:root{--paper: 232, 230, 222;--copper: 166, 108, 70;--jade: 79, 155, 139;--display: "Iowan Old Style", Baskerville, Georgia, "Times New Roman", serif;--ui: "Noto Sans KR", ui-sans-serif, -apple-system, sans-serif;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation}html,body,#gameApp{width:100%;min-height:100%;margin:0;overscroll-behavior:none}body{background:#020b0a;color:rgba(var(--paper),.92);font-family:var(--ui)}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;transition:transform .15s ease,opacity .15s ease}button:active{transform:scale(.96)}button:disabled:active{transform:none}#gameApp{position:relative;min-height:100svh;display:flex;flex-direction:column}#gameApp>*{flex-shrink:0}.game-middle{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;justify-content:safe center}.game-middle>*{flex-shrink:0}.audio-gate{position:fixed;inset:0;z-index:20;display:grid;place-items:center;gap:14px;padding:24px;text-align:center;background:radial-gradient(circle at 50% 40%,rgba(79,155,139,.12),transparent 60%),#020b0a}.audio-gate small{letter-spacing:.28em;color:rgba(var(--copper),.82);font-size:11px}.audio-gate h2{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(22px,5vw,30px);color:rgba(var(--paper),.95)}.audio-gate p{margin:0;max-width:320px;font-size:13px;line-height:1.6;color:rgba(var(--paper),.62)}.audio-gate button{margin-top:10px;padding:13px 26px;border-radius:999px;font-size:13px;letter-spacing:.04em}.audio-gate button:first-of-type{border:1px solid rgba(var(--copper),.7);background:rgba(var(--copper),.14);color:rgba(var(--paper),.95)}.audio-gate .quiet-choice{color:rgba(var(--paper),.4);text-decoration:underline;text-underline-offset:4px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:max(18px,env(safe-area-inset-top)) 20px 8px}.topbar .brand{display:flex;flex-direction:column;align-items:center;gap:1px}.topbar .brand strong{font-family:var(--display);font-size:12px;font-weight:400;letter-spacing:.06em;color:rgba(var(--paper),.85)}.topbar .brand small{display:block;font-size:7px;letter-spacing:.16em;color:rgba(var(--copper),.8)}.top-actions{display:flex;gap:6px}.top-actions button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(var(--paper),.18);color:rgba(var(--paper),.7);display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.top-actions .glyph-nudge{display:inline-block;transform:translateY(-2px)}.level-heading{padding:22px 24px 0;text-align:center}.level-heading .eyebrow{font-family:var(--display);font-size:12px;letter-spacing:.06em;color:rgba(var(--paper),.6)}.clue-list{list-style:none;margin:10px auto 22px;padding:0;display:flex;flex-direction:column;align-items:center;gap:4px;max-width:320px;text-align:center}.clue-list li{font-family:var(--display);font-size:16px;letter-spacing:.02em;color:rgba(var(--jade),.95)}.balance-stage{width:100%;margin:40px auto 0;max-width:420px;padding:0 20px}.balance-readout{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:6px}.balance-readout span{font-family:var(--display);font-size:28px;min-width:44px;text-align:center}.readout-center{display:flex;flex-direction:column;align-items:center;gap:6px}.readout-center small{font-size:11px;letter-spacing:.16em;color:rgba(var(--paper),.5)}.readout-center.balanced small{color:rgba(var(--jade),.95)}.readout-center i{width:3px;height:3px;border-radius:50%;background:rgba(var(--paper),.3)}.scale-wrap{margin:0 auto 18px}.scale-beam-row{position:relative;height:40px}.scale-beam{position:absolute;top:50%;left:6%;right:6%;height:2px;background:rgba(var(--jade),.8);transform-origin:50% 50%;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.scale-axis{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px}.scale-axis i{width:4px;height:4px;border-radius:50%;background:rgba(var(--copper),.85)}.scale-axis i:first-child{width:9px;height:9px}.pans-row{display:flex;gap:4%;align-items:stretch}.pan{position:relative;flex:1 1 0;min-height:130px;border:1px solid rgba(var(--paper),.16);border-radius:0 0 46px 46px;padding:36px 8px 12px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s,transform .15s ease}.pan:active{transform:scale(.99)}.pan.can-drop{border-color:rgba(var(--jade),.6);background:rgba(var(--jade),.06)}.pan.hint-target{border-color:rgba(var(--copper),.85);box-shadow:0 0 0 2px rgba(var(--copper),.25)}.pan-label{position:absolute;top:8px;left:50%;transform:translate(-50%);font-family:var(--display);font-size:12px;color:rgba(var(--paper),.4)}.piece-grid{display:flex;flex-wrap:wrap;justify-content:center;align-content:flex-start;gap:8px}.bank{width:100%;margin:0 auto;max-width:420px;padding:0 20px}.bank-title{display:flex;justify-content:space-between;margin-bottom:10px;font-size:11px;letter-spacing:.08em;color:rgba(var(--paper),.5)}.bank-pieces{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;min-height:62px}.resonator{position:relative;width:60px;height:60px;border-radius:50%;border:1px solid rgba(var(--copper),.55);background:radial-gradient(circle at 32% 28%,rgba(var(--jade),.35),#04100ee6);display:grid;place-items:center;font-family:var(--ui);font-weight:600;font-size:16px;color:rgba(var(--paper),.8);transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .2s,box-shadow .2s,opacity .22s;animation:piece-settle .32s cubic-bezier(.2,.8,.2,1)}@keyframes piece-settle{0%{transform:scale(.82);opacity:0}to{transform:scale(1);opacity:1}}.resonator.selected{border-color:rgba(var(--paper),.9);box-shadow:0 0 0 3px rgba(var(--copper),.3);transform:translateY(-3px)}#gameApp.dense .resonator{width:42px;height:42px;font-size:12px}#gameApp.dense .piece-grid,#gameApp.dense .bank-pieces{gap:5px}.resonator.fixed{opacity:.55;border-style:dashed}.resonator .resonator-halo{position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(var(--jade),0);transition:border-color .2s}.resonator.selected .resonator-halo{border-color:rgba(var(--jade),.5)}.resonator[data-link]:after{content:attr(data-link);position:absolute;bottom:-6px;right:-4px;width:15px;height:15px;border-radius:50%;font-size:8px;display:grid;place-items:center;background:rgba(var(--copper),.85);color:#0a1210}.bottom-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin:22px 20px max(20px,env(safe-area-inset-bottom));padding:0 20px}.bottom-controls button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:96px;font-size:12px;color:rgba(var(--paper),.6)}.bottom-controls button:disabled{opacity:.3;cursor:default}.move-counter{display:flex;flex-direction:column;align-items:center;padding:8px 14px;border:1px solid rgba(var(--paper),.16);border-radius:14px}.move-counter small{font-size:8px;letter-spacing:.05em;color:rgba(var(--paper),.45)}.move-counter strong{font-family:var(--display);font-size:18px}.notice-slot{min-height:40px;margin-top:8px;display:flex;align-items:flex-start;justify-content:center}.game-note{max-width:260px;text-align:center;font-size:11px;line-height:1.5;color:rgba(var(--paper),.35);margin:0 20px;transition:color .5s ease}.game-note.unbalanced{color:rgba(var(--copper),.78);animation:note-arrive .6s ease-out}@keyframes note-arrive{0%{opacity:0}to{opacity:1}}.hint-notice{max-width:260px;text-align:center;font-size:12px;line-height:1.5;margin:0 24px;color:rgba(var(--copper),.95)}.hint-notice strong{letter-spacing:.04em;font-weight:600}.resonator.hinted{border-color:rgba(var(--copper),.95);box-shadow:0 0 0 4px rgba(var(--copper),.28);animation:hint-pulse 1.4s ease-in-out infinite}@keyframes hint-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.home-panel{max-width:480px;margin:0 auto;padding:40px 22px 100px;text-align:center}.home-panel h1{font-family:var(--display);font-weight:400;font-size:clamp(30px,8vw,40px);margin:0 0 6px}.home-panel .home-sub{margin:0 0 26px;font-size:12px;letter-spacing:.06em;color:rgba(var(--paper),.55)}.stage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stage-grid button{aspect-ratio:1;border-radius:16px;border:1px solid rgba(var(--paper),.14);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.stage-grid button span{font-family:var(--display);font-size:17px;color:rgba(var(--paper),.5)}.stage-grid button small{font-size:8px;letter-spacing:.06em;color:rgba(var(--paper),.32)}.stage-grid button:not(:disabled){border-color:rgba(var(--paper),.34)}.stage-grid button:not(:disabled) span{color:rgba(var(--paper),.95)}.stage-grid button:not(:disabled) small{color:rgba(var(--paper),.55)}.stage-grid button:disabled{opacity:.32}.stage-grid button.complete{border-color:rgba(var(--jade),.6);background:rgba(var(--jade),.07)}.stage-grid button.current:not(.complete){border-color:rgba(var(--copper),.85);box-shadow:0 0 0 1px rgba(var(--copper),.3)}.stage-grid button{position:relative}.result-overlay{position:fixed;inset:0;z-index:15;display:grid;place-items:center;padding:24px;background:#020807c7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:result-veil-in .6s ease-out both}.result-card{position:relative;width:min(360px,100%);padding:34px 26px 26px;border-radius:22px;border:1px solid rgba(var(--copper),.4);background:#061210eb;text-align:center;overflow:hidden;animation:result-card-in .6s cubic-bezier(.2,.8,.2,1) both}@keyframes result-veil-in{0%{opacity:0}to{opacity:1}}@keyframes result-card-in{0%{opacity:0;transform:scale(.94) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.result-card:before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,rgba(var(--copper),0),rgba(var(--jade),.16),rgba(var(--copper),0));animation:new-order-formation 5.5s linear infinite}@keyframes new-order-formation{to{transform:rotate(360deg)}}.result-card>*{position:relative}.result-card h2{font-family:var(--display);font-weight:400;font-size:22px;margin:6px 0 4px;color:rgba(var(--copper),.92)}.result-card .result-sub{font-size:12px;letter-spacing:.04em;color:rgba(var(--copper),.72);margin:0 0 34px}.record-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 16px;text-align:left;margin-bottom:14px}.record-grid p{margin:0;display:flex;justify-content:space-between;font-size:12px;color:rgba(var(--paper),.55)}.record-grid b{font-family:var(--display);font-size:15px;color:rgba(var(--paper),.95)}.result-card .best{font-size:11px;color:rgba(var(--paper),.45);margin:0 0 28px}.result-actions{display:flex;flex-direction:column;gap:6px}.result-actions button{padding:13px;border-radius:999px;font-size:13px;letter-spacing:.04em}.result-actions button:first-child{border:1px solid rgba(var(--copper),.7);background:rgba(var(--copper),.16)}.result-actions button:last-child{color:rgba(var(--paper),.5)}@media(prefers-reduced-motion:reduce){.result-card:before{animation:none}.scale-beam,.resonator{transition:none}.result-overlay,.result-card{animation:none}}
