.layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.75rem .75rem;flex-shrink:0}.header__left{display:flex;flex-direction:column;gap:.15rem}.header__title{font-family:var(--font-title);font-size:clamp(1.8rem,4vw,3.2rem);font-weight:400;letter-spacing:-.01em;line-height:1;color:var(--fg);transition:color .3s}.header__sub{font-family:var(--font-body);font-style:italic;font-size:clamp(.75rem,1.2vw,.95rem);color:var(--muted);letter-spacing:.02em;margin-top:.1rem}.header__date{font-family:var(--font-ui);font-size:.65rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.25rem}.header__right{display:flex;align-items:center;gap:.5rem;padding-top:.2rem}.header__rule{height:1px;background:var(--border);margin:0 1.75rem;flex-shrink:0;transition:background .3s}.mode-toggle{display:flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border:1px solid var(--border);background:transparent;color:var(--fg);font-family:var(--font-ui);font-size:.72rem;letter-spacing:.06em;cursor:pointer;transition:background .15s,color .15s}.mode-toggle:hover{background:var(--fg);color:var(--bg)}.banner{text-align:center;font-family:var(--font-ui);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;padding:.45rem;background:var(--fg);color:var(--bg);flex-shrink:0;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.body{display:flex;flex:1;overflow:hidden;gap:0}.grid-panel{flex:0 0 60%;max-width:60%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:1rem 1.5rem 1rem 1.75rem;gap:.75rem;overflow:hidden;border-right:1px solid var(--border);transition:border-color .3s}.ghost-input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.grid{display:grid;grid-template-columns:repeat(var(--cols),var(--cell-size));grid-template-rows:repeat(var(--rows),var(--cell-size));border:1.5px solid var(--border);cursor:default;-webkit-user-select:none;user-select:none;transition:border-color .3s}.cell{width:var(--cell-size);height:var(--cell-size);position:relative;border:.5px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .1s,border-color .3s;background:var(--bg)}.cell--black{background:var(--fg);border-color:var(--fg);cursor:default;pointer-events:none;transition:background .3s,border-color .3s}.cell--selected{background:var(--selected)}.cell--cursor{background:var(--cursor)!important}.cell--correct{background:var(--correct)!important;outline:1.5px solid var(--correct-b);outline-offset:-1.5px}.cell--wrong{background:var(--wrong)!important;outline:1.5px solid var(--wrong-b);outline-offset:-1.5px}.cell__num{position:absolute;top:1px;left:2px;font-family:var(--font-ui);font-size:calc(var(--cell-size) * .22);line-height:1;color:var(--fg);pointer-events:none;transition:color .3s}.cell--cursor .cell__num{color:var(--fg)}.cell__letter{font-family:var(--font-ui);font-size:calc(var(--cell-size) * .48);font-weight:500;color:var(--fg);pointer-events:none;line-height:1;transition:color .3s}.cell--cursor .cell__letter{color:var(--fg)}.controls{display:flex;gap:.5rem}.btn{font-family:var(--font-ui);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:.4rem 1rem;border:1px solid var(--border);background:transparent;color:var(--fg);cursor:pointer;transition:background .15s,color .15s,border-color .3s}.btn:hover{background:var(--fg);color:var(--bg)}.clues-panel{flex:1;overflow-y:auto;padding:1.25rem 1.75rem 1rem 1.25rem;display:flex;flex-direction:column;gap:1.5rem;scroll-behavior:smooth}.clues-section{display:flex;flex-direction:column;gap:0}.clues-section__title{font-family:var(--font-ui);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding-bottom:.4rem;margin-bottom:.25rem;border-bottom:1px solid var(--border);transition:color .3s,border-color .3s}.clues-list{list-style:none;display:flex;flex-direction:column}.clue-item{display:flex;gap:.6rem;padding:.45rem .4rem;cursor:pointer;border-left:2px solid transparent;transition:background .1s,border-color .1s;font-size:clamp(.72rem,1vw,.82rem);line-height:1.45}.clue-item:hover{background:var(--selected)}.clue-item--selected{border-left-color:var(--fg);background:var(--selected)}.clue-item--correct{background:var(--correct)!important;border-left-color:var(--correct-b)!important}.clue-item--wrong{background:var(--wrong)!important;border-left-color:var(--wrong-b)!important}.clue-item__num{font-family:var(--font-ui);font-size:.7rem;font-weight:500;min-width:1.4em;text-align:right;flex-shrink:0;padding-top:.05em;color:var(--muted);transition:color .3s}.clue-item--selected .clue-item__num{color:var(--fg)}.clue-item__text{color:var(--fg);transition:color .3s}@media (max-width: 700px){.body{flex-direction:column;overflow:auto}.grid-panel{flex:none;max-width:100%;border-right:none;border-bottom:1px solid var(--border);overflow:visible}.clues-panel{overflow:visible;padding-bottom:2rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #ffffff;--fg: #000000;--bg-subtle: #f5f5f5;--border: #000000;--selected: rgba(220, 60, 60, .1);--cursor: rgba(220, 60, 60, .28);--cursor-text: #000000;--correct: #d4edda;--correct-b: #28a745;--wrong: #f8d7da;--wrong-b: #dc3545;--muted: #666666;--cell-size: 32px;--font-title: "Bitcount Grid Double", monospace;--font-body: "DM Serif Text", serif;--font-ui: "DM Mono", monospace;--header-h: 140px}body.evening{--bg: #000000;--fg: #ffffff;--bg-subtle: #111111;--border: #ffffff;--selected: rgba(255, 100, 100, .14);--cursor: rgba(255, 100, 100, .32);--cursor-text: #ffffff;--correct: #0d2b12;--correct-b: #28a745;--wrong: #2b0d0f;--wrong-b: #dc3545;--muted: #999999}html{font-size:16px;scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);min-height:100vh;transition:background .3s,color .3s}#root{height:100vh;display:flex;flex-direction:column;overflow:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);opacity:.3}
