:root{--tech:#397f88}:root[data-theme=night]{--tech:#82bdc6}.page{max-width:780px}select{font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:6px;min-height:44px;padding:5px 12px}.yearbar,.controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.yearbar button,.controls button{background:var(--surface);padding:8px 12px}.yearbar label{flex:1}.yearbar select{width:100%}.controls #sensor{background:var(--soft);border-color:var(--tech)}#status{font-size:14px;color:var(--muted);min-height:44px;margin:10px 0 0}.stage{position:relative;width:min(100%,480px);aspect-ratio:1;margin:0 auto 16px;overflow:hidden;background:radial-gradient(ellipse,var(--soft),transparent 68%);border:1px solid var(--line);border-radius:12px}.stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:32px 32px;opacity:.17}.stage-label,.heading{position:absolute;left:12px;font-size:12px;color:var(--muted);z-index:1}.stage-label{top:9px}.heading{bottom:9px;color:var(--tech)}#board{position:absolute;left:16%;top:16%;width:68%;height:68%;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;will-change:transform}.cell{padding:0;min-height:0;border-radius:7px;background:var(--surface);border:1px solid var(--line);position:relative}.cell[aria-pressed=true]{border:2px solid var(--accent);box-shadow:0 0 18px #baaa7025}.cell .inside{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;height:100%;will-change:transform}.cell .direction{font-size:12px;color:var(--muted)}.cell strong{font-size:clamp(22px,6vw,36px);line-height:1.1;font-weight:500;color:var(--accent)}.cell .starname{font-size:12px}.cell.care strong{color:var(--care)}#detail{border:1px solid var(--line);border-radius:10px;padding:22px;background:var(--surface)}#detail h2{margin:0;font-size:23px;font-weight:500}#detail h3{font-size:17px;margin:22px 0 8px}#detail p{margin:8px 0;line-height:1.85}#detail ul{padding-left:22px;margin:6px 0}#detail li{margin:8px 0;line-height:1.8}.tagline{font-size:14px;color:var(--tech)}.summaryline{border-left:3px solid var(--accent);padding:10px 14px;background:var(--soft)}.notes{margin:20px 0;color:var(--muted);font-size:14px}.notes p{line-height:1.8}html,body{touch-action:manipulation}@media(max-width:370px){.page{padding-left:14px;padding-right:14px}.yearbar button,.controls button{font-size:14px;padding:7px 9px}#detail{padding:17px}.cell .starname{font-size:11px}}@media(min-width:700px){.stage{width:410px}.title-row{padding:18px 0}.stage-label,.heading{font-size:13px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
:root .month-panel{margin:12px 0 16px;padding:12px;background:var(--soft);border-radius:8px}.month-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.month-controls label{display:flex;align-items:center;gap:5px;font-size:14px}.month-controls select{flex:1;min-width:140px}.month-controls button{background:var(--surface);padding:6px 12px}.month-controls input{width:18px;height:18px;accent-color:var(--tech)}.month-panel p{margin:8px 0 0}.room-panel{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0}.room-panel select{flex:1}.room-panel .subtle{flex-basis:100%}.cell.monthly strong{font-size:clamp(19px,5vw,29px);white-space:nowrap}.cell.monthly strong small{font-size:11px;color:var(--muted);font-weight:400}.cell.monthly .inside{gap:3px}
