@import "https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0f;--panel-bg:#0f0f1a;--border:#2a2a4a;--text:#c0c0d0;--dim:#606070;--accent:#5080ff;--gold:#e0b840;--green:#40c060;--font:"Share Tech Mono", monospace}body{background:var(--bg);color:var(--text);font-family:var(--font);flex-direction:column;height:100vh;font-size:12px;display:flex;overflow:hidden}#game-header{background:var(--panel-bg);border-bottom:1px solid var(--border);flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;height:36px;padding:0 16px;display:grid}.header-center{text-align:center;white-space:nowrap}.header-end{justify-content:flex-end;align-items:center;gap:8px;display:flex}.dev-toggle-btn{color:#828;font-family:var(--font);cursor:pointer;letter-spacing:1px;background:#14001ed9;border:1px solid #828;border-radius:5px;padding:3px 10px;font-size:10px}.game-title{letter-spacing:3px;color:var(--text);font-size:11px}.game-subtitle{letter-spacing:1px;color:var(--dim);margin-left:10px;font-size:10px}.credits-btn{border:1px solid var(--border);color:var(--dim);font-family:var(--font);cursor:pointer;letter-spacing:1px;background:0 0;padding:3px 8px;font-size:10px}.credits-btn:hover{border-color:var(--text);color:var(--text)}.credits-modal{z-index:500;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.credits-overlay{background:#000000bf;position:absolute;inset:0}.credits-box{background:var(--panel-bg);border:1px solid var(--border);flex-direction:column;gap:16px;width:340px;padding:24px;display:flex;position:relative}.credits-heading{letter-spacing:3px;color:var(--accent);font-size:11px}.credits-section{flex-direction:column;gap:3px;display:flex}.credits-label{letter-spacing:2px;color:var(--dim);margin-bottom:2px;font-size:9px}.credits-line{color:var(--text);font-size:11px}.credits-link{color:var(--accent);opacity:.7;font-size:10px;text-decoration:none}.credits-link:hover{opacity:1;text-decoration:underline}.credits-close{border:1px solid var(--accent);color:var(--accent);font-family:var(--font);cursor:pointer;letter-spacing:2px;background:0 0;margin-top:4px;padding:6px;font-size:10px}.credits-close:hover{background:var(--accent);color:#fff}#app{flex:1;grid-template-columns:280px 1fr;min-height:0;display:grid}#panel-left{background:var(--panel-bg);border-right:1px solid var(--border);flex-direction:column;gap:16px;padding:12px;display:flex;overflow-y:auto}#panel-right{background:var(--bg);justify-content:center;align-items:center;display:flex;overflow:hidden}.viewfinder{flex-direction:column;gap:10px;width:min(100%,520px);padding:20px;display:flex}.vf-topbar{letter-spacing:1px;justify-content:space-between;align-items:center;font-size:10px;display:flex}.vf-tier-label{color:var(--accent);letter-spacing:3px}.vf-metrics{color:var(--dim)}.vf-indicator{color:var(--dim);font-size:10px}.vf-stacking{color:var(--green);animation:1.2s step-end infinite blink}.vf-preview{color:var(--gold)}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.vf-brackets{line-height:0;position:relative}.vf-corner{border-color:var(--accent);opacity:.6;z-index:1;border-style:solid;width:14px;height:14px;position:absolute}.vf-corner.tl{border-width:2px 0 0 2px;top:-5px;left:-5px}.vf-corner.tr{border-width:2px 2px 0 0;top:-5px;right:-5px}.vf-corner.bl{border-width:0 0 2px 2px;bottom:-5px;left:-5px}.vf-corner.br{border-width:0 2px 2px 0;bottom:-5px;right:-5px}#vf-canvas-slot{width:100%}.vf-bottombar{flex-direction:column;gap:6px;display:flex}.vf-subject-row{align-items:baseline;gap:8px;display:flex}.vf-subject-name{color:var(--gold);letter-spacing:1px;font-size:16px}.vf-subject-desc{color:var(--dim);font-size:10px;line-height:1.5}.vf-source-link{color:var(--accent);letter-spacing:1px;opacity:.7;font-size:10px;text-decoration:none}.vf-source-link:hover{opacity:1;text-decoration:underline}.vf-progress-row{align-items:center;gap:8px;display:flex}.vf-progress-bar{background:var(--border);flex:1;height:4px}.vf-progress-fill{background:var(--accent);height:100%;transition:width .1s linear}.vf-frame-count{color:var(--dim);white-space:nowrap;letter-spacing:1px;font-size:10px}.vf-shoot-stats{color:var(--dim);text-align:center;letter-spacing:1px;margin-top:4px;font-size:10px}.shoot-btn{background:var(--accent);color:#fff;font-family:var(--font);cursor:pointer;letter-spacing:2px;border:none;padding:10px;font-size:13px}.shoot-btn:active{opacity:.7;transform:scale(.98)}.viewfinder .shoot-btn{letter-spacing:4px;width:100%;margin-top:4px;padding:12px;font-size:15px}.panel-section{flex-direction:column;gap:6px;display:flex}.panel-label{color:var(--dim);letter-spacing:2px;border-bottom:1px solid var(--border);justify-content:space-between;margin-bottom:2px;padding-bottom:4px;font-size:10px;display:flex}.currency{color:var(--gold)}.publish-btn{background:var(--gold);color:#000;font-family:var(--font);cursor:pointer;letter-spacing:1px;border:none;margin-top:4px;padding:8px;font-size:11px}.stat-row{color:var(--dim);font-size:11px}.target-name{color:var(--gold);letter-spacing:1px;font-size:14px}.progress-bar{background:var(--border);height:6px}.progress-fill{background:var(--accent);height:100%;transition:width .1s linear}.gear-card{border:1px solid var(--border);flex-direction:column;gap:3px;padding:6px 8px;display:flex}.gear-card.owned{border-color:var(--green);opacity:.6}.gear-name{font-size:11px}.gear-desc{color:var(--dim);font-size:10px;line-height:1.3}.buy-btn{border:1px solid var(--accent);color:var(--accent);font-family:var(--font);cursor:pointer;background:0 0;align-self:flex-start;margin-top:2px;padding:3px 6px;font-size:10px}.buy-btn:hover{background:var(--accent);color:#fff}.buy-btn.disabled{border-color:var(--border);color:var(--dim);cursor:not-allowed;pointer-events:none}.badge{color:var(--green);letter-spacing:1px;font-size:9px}.target-card{border:1px solid var(--border);align-items:center;gap:6px;padding:4px 6px;font-size:10px;display:flex}.target-card.active{border-color:var(--gold)}.target-card.locked{opacity:.5}.target-card-name{flex:1}.target-card-req{color:var(--dim);font-size:9px}.select-btn,.unlock-btn{border:1px solid var(--accent);color:var(--accent);font-family:var(--font);cursor:pointer;white-space:nowrap;background:0 0;padding:2px 5px;font-size:9px}.select-btn:hover{background:var(--accent);color:#fff}.unlock-btn{border-color:var(--gold);color:var(--gold)}.unlock-btn:hover{background:var(--gold);color:#000}.unlock-btn.disabled{border-color:var(--border);color:var(--dim);cursor:not-allowed;pointer-events:none}.view-btn{border:1px solid var(--dim);color:var(--dim);font-family:var(--font);cursor:pointer;white-space:nowrap;background:0 0;padding:2px 5px;font-size:9px}.view-btn:hover{border-color:var(--text);color:var(--text)}.subject-desc{color:var(--dim);margin-top:2px;margin-bottom:4px;font-size:10px;line-height:1.4}.bonus-tag{color:var(--gold)}.vf-rep-reward{color:var(--green);letter-spacing:1px;margin-left:auto;font-size:10px}.active-badge{color:var(--accent)}.subject-card{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:3px 0;font-size:10px;display:flex}.subject-card.done{color:var(--dim)}.subject-card.active{color:var(--text)}.subject-name{flex:1}.subject-card.bonus .subject-name{color:var(--gold)}.subject-frames{color:var(--dim);white-space:nowrap;font-size:9px}.unlock-hint{color:var(--gold);margin-top:4px;font-size:10px}
