:root{color:#173731;background:#dbe9ce;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#app,#game-container{width:100%;height:100%}html,body{margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none}button,input,select{font:inherit}button{min-width:44px;min-height:44px;border:1px solid rgba(32,75,69,.18);border-radius:6px;color:#173731;background:#fffdf5;box-shadow:0 1px #17373114;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button.active,button:hover:not(:disabled){border-color:#204b45;background:#e9f2e1}#game-container{position:fixed;inset:0}#ui-root{position:fixed;inset:0;z-index:2;pointer-events:none}#ui-root>*{pointer-events:auto}.top-hud{position:fixed;top:max(10px,env(safe-area-inset-top));left:50%;display:grid;grid-template-columns:repeat(6,minmax(74px,auto));gap:6px;transform:translate(-50%)}.metric{min-width:74px;padding:7px 9px;border:1px solid rgba(32,75,69,.14);border-radius:6px;background:#fffdf5eb;box-shadow:0 8px 24px #1737311f}.metric span,.tool-group span,.concept-card small,.event-card small{display:block;font-size:11px;color:#526a61}.metric strong{display:block;margin-top:2px;font-size:15px;line-height:1.1}.metric.good strong{color:#2d7044}.metric.warn strong{color:#ad3f32}.grade-switch{position:fixed;top:max(72px,calc(env(safe-area-inset-top) + 68px));left:50%;display:flex;gap:4px;padding:4px;border-radius:8px;background:#fffdf5eb;transform:translate(-50%);box-shadow:0 8px 24px #1737311f}.segmented{min-height:36px;padding:0 12px}.segmented.active{color:#fffdf5;background:#204b45}.tool-dock{position:fixed;top:124px;bottom:20px;left:max(12px,env(safe-area-inset-left));width:116px;display:flex;flex-direction:column;gap:8px;overflow:auto;padding:8px;border:1px solid rgba(32,75,69,.14);border-radius:8px;background:#fffdf5eb;box-shadow:0 8px 24px #1737311f}.tool-group{display:grid;gap:5px}.tool-button{width:100%;display:grid;grid-template-columns:12px 1fr;align-items:center;gap:6px;padding:6px 7px;text-align:left}.tool-button i{width:12px;height:12px;display:block;border:1px solid rgba(32,75,69,.24);border-radius:3px}.tool-button b{min-width:0;overflow:hidden;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.side-panel{position:fixed;top:max(86px,calc(env(safe-area-inset-top) + 84px));right:max(12px,env(safe-area-inset-right));bottom:20px;width:min(360px,calc(100vw - 160px));display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid rgba(32,75,69,.14);border-radius:8px;background:#fffdf5f2;box-shadow:0 12px 30px #17373129}.side-panel.closed{display:none}.panel-tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid rgba(32,75,69,.12)}.panel-tab{flex:1;min-height:38px;padding:0 8px}.icon-button{width:44px;font-size:22px;line-height:1}.panel-content{overflow:auto;padding:14px}.panel-content h2,.panel-content h3{margin:0 0 10px;font-size:18px;line-height:1.2}.panel-content h3{margin-top:18px;font-size:15px}.info-card,.concept-card,.log-row{padding:11px;border:1px solid rgba(32,75,69,.12);border-radius:8px;background:#fffdf5}.info-card+.info-card,.concept-card+.concept-card,.log-row+.log-row{margin-top:8px}.info-card p,.concept-card p,.log-row span{margin:6px 0 0;font-size:13px;line-height:1.45}.concept-list{display:grid;gap:8px}.concept-card strong,.info-card strong,.log-row strong{font-size:14px}.tile-detail{display:grid;grid-template-columns:72px 1fr;gap:6px 10px;margin:0 0 12px;font-size:13px}.tile-detail dt{color:#526a61}.tile-detail dd{margin:0;font-weight:700}.tax-card{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:22px;width:250px;padding:10px;border:1px solid rgba(32,75,69,.14);border-radius:8px;background:#fffdf5f0;box-shadow:0 8px 24px #1737311f}.tax-card label{display:block;margin-bottom:6px;font-size:13px;font-weight:800}.tax-card input{width:100%}.floating-panel-button{display:none}.tile-chip{position:fixed;left:50%;bottom:22px;max-width:min(420px,54vw);overflow:hidden;padding:9px 12px;border:1px solid rgba(32,75,69,.14);border-radius:8px;background:#fffdf5f0;font-size:13px;font-weight:800;text-overflow:ellipsis;transform:translate(-50%);white-space:nowrap;box-shadow:0 8px 24px #1737311f}.select-row{display:grid;gap:8px;margin-bottom:12px;font-size:13px;font-weight:800}.select-row select{min-height:44px;border:1px solid rgba(32,75,69,.18);border-radius:6px;padding:0 10px;background:#fffdf5}.settings-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.quiet{color:#526a61;font-size:13px}body[data-device=tablet] .top-hud{grid-template-columns:repeat(3,minmax(86px,auto))}body[data-device=tablet] .side-panel{width:min(340px,calc(100vw - 150px))}body[data-device=mobile] .top-hud{top:max(8px,env(safe-area-inset-top));left:8px;right:8px;grid-template-columns:repeat(3,minmax(0,1fr));transform:none}body[data-device=mobile] .metric{min-width:0;padding:6px 7px}body[data-device=mobile] .metric span{font-size:10px}body[data-device=mobile] .metric strong{font-size:13px}body[data-device=mobile] .grade-switch{top:max(104px,calc(env(safe-area-inset-top) + 98px))}body[data-device=mobile] .tool-dock{top:auto;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));width:auto;height:90px;flex-direction:row;overflow-x:auto;overflow-y:hidden}body[data-device=mobile] .tool-group{min-width:max-content;grid-auto-flow:column;grid-auto-columns:74px;align-items:end}body[data-device=mobile] .tool-group span{display:none}body[data-device=mobile] .tool-button{height:64px;grid-template-columns:1fr;justify-items:center;text-align:center}body[data-device=mobile] .tool-button b{max-width:64px;font-size:12px}body[data-device=mobile] .side-panel{inset:auto 0 0;width:100%;height:min(68vh,520px);border-right:0;border-bottom:0;border-left:0;border-radius:8px 8px 0 0}body[data-device=mobile] .panel-content{padding-bottom:calc(112px + env(safe-area-inset-bottom))}body[data-device=mobile] .tax-card{right:8px;bottom:calc(106px + env(safe-area-inset-bottom));left:8px;width:auto;padding:8px 10px}body[data-device=mobile] .floating-panel-button{position:fixed;right:max(10px,env(safe-area-inset-right));bottom:calc(164px + env(safe-area-inset-bottom));display:block;min-width:64px;color:#fffdf5;background:#204b45}body[data-device=mobile] .tile-chip{bottom:calc(164px + env(safe-area-inset-bottom));left:max(8px,env(safe-area-inset-left));max-width:calc(100vw - 94px);transform:none}@media(max-width:420px){.panel-tab{padding:0 5px;font-size:12px}.settings-actions{grid-template-columns:1fr}}
