@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--bg:#f8f7f2;--paper:#fffefa;--fg:#262822;--muted:#777a70;--line:#deded4;--accent:#b34430;--tint:#e6eade;--selected:#d6dfbd;--serif:'Libre Caslon Display',Georgia,serif;font-family:'DM Sans',system-ui,sans-serif;color:var(--fg);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{border:1px solid var(--line);background:var(--paper);padding:9px 14px;border-radius:4px;font-size:12px;font-weight:600}button:hover{background:var(--tint)}button.primary{background:var(--fg);color:var(--paper);border-color:var(--fg)}button.primary:hover{background:#424b35}button.quiet{border:0;background:transparent}button.active{background:var(--tint);border-color:#aab597}input,textarea,select{border:1px solid var(--line);background:var(--paper);padding:10px;border-radius:3px;font-size:13px}input[type=checkbox]{accent-color:var(--fg)}textarea{resize:vertical;line-height:1.5}label{font-size:12px;color:var(--muted)}.masthead{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;gap:20px}.brand{display:flex;gap:13px;align-items:center;font-family:var(--serif);font-size:30px;letter-spacing:-1px}.brand-mark{display:grid;grid-template-columns:repeat(3,7px);gap:2px}.brand-mark i{width:7px;height:7px;background:var(--fg)}.brand-mark i:nth-child(3),.brand-mark i:nth-child(7){background:transparent}.nav{display:flex;align-items:center;gap:24px;font-size:12px}.nav a.current{border-bottom:2px solid var(--fg);padding:29px 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:20px;padding:5px 9px;font-size:10px;color:var(--muted)}.badge:before{content:'';width:5px;height:5px;background:#87976d;border-radius:50%}.workspace{max-width:1550px;margin:auto;display:grid;grid-template-columns:252px minmax(0,1fr)}.sidebar{border-right:1px solid var(--line);padding:30px 22px;min-height:calc(100vh - 78px)}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-size:54px;font-weight:400;letter-spacing:-1.5px;margin-bottom:10px}h2{font-family:var(--serif);font-size:28px;font-weight:400}.sidebar h2{font-size:26px;margin:9px 0 24px}.month-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-size:12px;font-weight:600}.month-bar button{padding:4px 9px;background:none;border:0;font-size:20px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar .weekday{font-size:9px;color:var(--muted);padding:8px 0}.day{position:relative;border:0;background:transparent;padding:8px 0 13px;font-size:11px}.day.chosen{background:var(--fg);color:white}.day.today{box-shadow:inset 0 0 0 1px #b1b6a7}.day:after{content:'';position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%}.day.draft:after{background:#b79768}.day.scheduled:after,.day.live:after{background:#78915d}.calendar-key{display:flex;gap:12px;font-size:9px;color:var(--muted);margin-top:15px}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:4px}.sidebar-note{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);font-size:11px;line-height:1.8;color:var(--muted)}.sidebar-note strong{display:block;color:var(--fg);font-size:12px;margin-bottom:7px}.editor-main{padding:30px 38px 50px;min-width:0}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.page-heading h1{font-size:45px;margin:8px 0}.subtle{font-size:12px;color:var(--muted);line-height:1.6}.actions{display:flex;gap:8px;align-items:center}.editor-body{display:grid;grid-template-columns:minmax(290px,1fr) minmax(260px,.82fr);gap:34px}.toolbar{display:flex;align-items:center;gap:6px;margin-bottom:16px;flex-wrap:wrap}.toolbar label{margin-left:auto;font-size:10px;display:flex;align-items:center;gap:4px}.grid{display:grid;grid-template-columns:repeat(var(--size),1fr);background:var(--fg);border:2px solid var(--fg);gap:1px;aspect-ratio:1;width:100%;max-width:580px}.cell{position:relative;aspect-ratio:1;min-width:0;border:0;border-radius:0;background:var(--paper);padding:0;font-size:clamp(14px,2.3vw,31px);font-weight:500;display:flex;align-items:center;justify-content:center}.cell:hover{background:#f0efdf}.cell small{position:absolute;top:3%;left:7%;font-size:clamp(6px,.8vw,10px);font-weight:400}.cell.block{background:var(--fg)}.cell.word{background:var(--tint)}.cell.selected{background:var(--selected)}.cell.block.selected{background:#545c46}.cell.incorrect span{color:var(--accent);text-decoration:underline}.grid-note{display:flex;justify-content:space-between;margin-top:12px;font-size:10px;color:var(--muted);gap:8px}.panel{border:1px solid var(--line);border-radius:5px;background:var(--paper);padding:20px;margin-top:26px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-heading h3{font-size:12px;margin:0}.details-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:7px}.field input{width:100%}.tabbar{display:flex;border-bottom:1px solid var(--line);margin-bottom:18px}.tabbar button{background:none;border:0;border-radius:0;padding:11px 18px 12px;color:var(--muted)}.tabbar button.active{color:var(--fg);box-shadow:inset 0 -2px var(--fg)}.clue-list{max-height:580px;overflow:auto;scrollbar-width:thin}.clue-row{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:12px 10px;border-bottom:1px solid var(--line);border-left:3px solid transparent}.clue-row.current{background:#efF0e8;border-left-color:#7b8c5c}.clue-number{font-size:12px;padding-top:4px;font-weight:700;background:none;border:0;padding-left:0;padding-right:0;align-self:start}.clue-answer{font-size:11px;font-weight:600;letter-spacing:2px;margin-bottom:7px;display:flex;justify-content:space-between}.clue-answer span{letter-spacing:0;font-weight:400;color:var(--muted)}.clue-row textarea{border:0;border-radius:0;background:transparent;padding:0;font-size:12px;width:100%;min-height:37px;resize:vertical}.assist-pattern{font-family:monospace;font-size:20px;letter-spacing:5px;margin-bottom:8px}.suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;max-height:160px;overflow:auto}.suggestions button{font-family:monospace;font-size:11px;padding:6px 9px}.status{font-size:11px;color:var(--muted);min-height:18px;line-height:1.6}.status.error{color:var(--accent)}.status.success{color:#526b34}.validation{font-size:11px;line-height:1.8;color:var(--accent);margin:12px 0 0}.footer{border-top:1px solid var(--line);padding:22px 42px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.player{max-width:1000px;margin:0 auto;padding:42px 30px 60px}.player-header{text-align:center;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:24px}.player-header h1{font-size:64px;margin:10px 0}.player-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:36px}.player-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:8px}.active-clue{background:var(--tint);padding:18px;min-height:69px;font-size:14px;line-height:1.5;margin-bottom:15px}.player-clues h3{font-size:12px;text-transform:uppercase;letter-spacing:2px;border-bottom:1px solid var(--fg);padding:10px 0}.play-clue{display:flex;gap:12px;width:100%;border:0;border-radius:0;text-align:left;background:transparent;font-weight:400;line-height:1.5;padding:10px}.play-clue.current{background:var(--tint)}.player-clues{max-height:610px;overflow:auto}.empty{text-align:center;padding:70px 20px}.keyboard{display:none;margin-top:20px}.keyboard-row{display:flex;justify-content:center;gap:4px;margin-bottom:5px}.keyboard button{padding:12px 0;flex:1;max-width:40px}.notice{padding:10px 16px;background:#eef0e7;font-size:11px;border-bottom:1px solid var(--line)}dialog{background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:8px;max-width:460px;padding:30px}dialog::backdrop{background:#20231e88}dialog h2{font-size:36px;margin-bottom:12px}dialog p{line-height:1.7;font-size:13px}.post.gate{max-width:440px;margin:90px auto;padding:25px}.post-nav{margin-bottom:30px}.post-title{font-size:50px}[hidden]{display:none!important}@media(min-width:1400px){.cell{font-size:30px}}@media(max-width:1100px){.workspace{grid-template-columns:220px 1fr}.editor-main{padding:26px 24px}.editor-body{gap:20px;grid-template-columns:minmax(260px,1fr) minmax(220px,.85fr)}.page-heading{flex-wrap:wrap}.masthead{padding:0 24px}.nav{gap:18px}}@media(max-width:850px){.workspace{grid-template-columns:1fr}.sidebar{min-height:auto;border-right:0;border-bottom:1px solid var(--line);padding:20px;display:grid;grid-template-columns:200px 1fr;gap:20px}.sidebar h2,.sidebar>.eyebrow{display:none}.sidebar-note{margin-top:0;border:0;padding:0}.calendar-wrap{grid-column:1}.editor-main{padding:24px 20px}.cell{font-size:clamp(17px,4vw,30px)}.cell small{font-size:9px}.brand{font-size:27px}.nav .badge{display:none}}@media(max-width:600px){.masthead{height:68px;padding:0 18px}.nav{gap:16px}.nav a.current{padding:24px 0}.editor-body,.player-layout{grid-template-columns:1fr}.page-heading h1{font-size:40px}.page-heading{gap:12px}.actions{flex-wrap:wrap}.editor-main{padding:22px 16px}.clue-list{max-height:400px}.cell{font-size:clamp(16px,5vw,28px)}.sidebar{padding:16px;grid-template-columns:190px 1fr;gap:12px}.sidebar-note{font-size:10px}.sidebar-note strong{font-size:11px}.player{padding:28px 16px}.player-header h1{font-size:52px}.keyboard{display:block}.footer{padding:20px;gap:20px}.player-clues{max-height:none}.player-tools button{padding:8px 10px}.details-row{grid-template-columns:1fr}.toolbar label{margin-left:0}}
@media(max-width:600px){.brand{font-size:23px;gap:8px;white-space:nowrap;letter-spacing:-.6px}.nav{font-size:11px;gap:14px;white-space:nowrap}.masthead{gap:12px}.nav a.current{padding:25px 0}}
