*{box-sizing:border-box}body{color:#1b1b19;background:#f6f5f2;margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;cursor:pointer;background:#fff;border:1px solid #cfcdc6;border-radius:6px;padding:6px 12px}button:hover{background:#f0efec}button:disabled{opacity:.5;cursor:default}button.ghost{background:0 0;border-color:#0000}input{font:inherit;background:#fff;border:1px solid #cfcdc6;border-radius:6px;width:100%;padding:5px 8px}input:focus{outline-offset:-1px;outline:2px solid #4a7fd4}.app{grid-template-columns:240px 1fr;min-height:100vh;display:grid}aside{background:#fbfaf8;border-right:1px solid #e2e0da;flex-direction:column;padding:12px;display:flex}.side-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.puzzle-list{margin:0;padding:0;list-style:none}.puzzle-list li{align-items:center;gap:2px;display:flex}.puzzle-list li>button:first-child{text-align:left;background:0 0;border-color:#0000;flex:1;min-width:0;margin-bottom:2px;padding:6px 8px;display:block}.puzzle-list button.active{background:#e7eefb}.row-delete{opacity:0;color:#b3261e;padding:4px 6px}.puzzle-list li:hover .row-delete,.row-delete:focus-visible{opacity:1}.pl-title{display:block}.pl-meta{color:#6f6d66;font-size:12px;display:block}main{min-width:0;padding:16px 20px}.empty{color:#6f6d66}.editor-head{margin-bottom:14px}.editor-id{border-bottom:1px solid #e2e0da;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:10px;display:flex}.editor-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.editor-actions .spacer{flex:1;min-width:12px}.detached{margin-inline-start:10px}.puzzle-id{color:#6f6d66;margin-inline-end:4px;font-weight:500}button.danger{color:#b3261e;border-color:#e6c4c1}button.danger:hover{background:#fdeeed}.modal-backdrop{z-index:10;background:#14131161;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;max-width:380px;max-height:calc(100vh - 32px);padding:18px 20px;overflow-y:auto;box-shadow:0 10px 30px #0000002e}.modal h2{margin:0 0 8px;font-size:16px;font-weight:500}.modal p{color:#43413c;margin:0 0 16px}.modal-actions{background:#fff;justify-content:flex-end;gap:8px;margin:4px -20px -18px;padding:12px 20px 18px;display:flex;position:sticky;bottom:-18px}.modal.wide{max-width:460px}.field{margin-bottom:14px;display:block}.field>span{color:#43413c;margin-bottom:5px;font-size:12px;font-weight:500;display:block}.field>small{color:#8b8981;margin-top:5px;font-size:11px;line-height:1.5;display:block}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.warn-text{color:#b3261e}.edited{color:#8a5f0a;font-style:normal}.modal p.lede{color:#6f6d66;margin:-2px 0 16px;font-size:13px}.preset-note{margin-bottom:10px}.segmented{grid-template-columns:repeat(3,1fr);display:grid}.segmented button{border-radius:0;margin-left:-1px;padding:7px 4px;font-size:13px;position:relative}.segmented button:first-child{border-radius:var(--r,6px) 0 0 6px;margin-left:0}.segmented button:last-child{border-radius:0 6px 6px 0}.segmented button.active{color:#1b3d73;z-index:1;background:#e7eefb;border-color:#7ba0dd;font-weight:500}button.primary{color:#fff;background:#2f6fd0;border-color:#2f6fd0}button.primary:hover{background:#2a63bb}.disclosure{color:#6f6d66;cursor:pointer;background:0 0;border:none;margin:2px 0 10px;padding:2px 0;font-size:12px}.disclosure:hover{color:#1b1b19;background:0 0}.advanced{border-top:1px solid #e2e0da;padding-top:14px}.mixbar{background:#ecece6;border-radius:4px;height:8px;margin-bottom:10px;display:flex;overflow:hidden}.mixbar .seg{height:100%;transition:width .12s;display:block}.seg.def,.dot.def{background:#6b8fd4}.seg.say,.dot.say{background:#d8a33c}.seg.syn,.dot.syn{background:#5aa17f}.dot{border-radius:50%;width:7px;height:7px;margin-inline-end:5px;display:inline-block}.weights{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.weight>span{color:#6f6d66;align-items:center;margin-bottom:4px;font-size:11px;display:flex}.weight>small{color:#8b8981;text-align:center;margin-top:3px;font-size:11px;display:block}.slider-row{align-items:center;gap:10px;display:flex}.slider-row input[type=range]{flex:1;padding:0}.slider-row b{font-variant-numeric:tabular-nums;text-align:right;min-width:38px;font-size:13px}.modal-backdrop.busy{cursor:progress}.busy-box{background:#fff;border-radius:10px;align-items:center;gap:12px;padding:16px 20px;display:flex;box-shadow:0 10px 30px #0000002e}.spinner{border:2px solid #d7d5ce;border-top-color:#4a7fd4;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ok{color:#2c7a4b}.err{color:#b3261e}.columns{grid-template-columns:minmax(460px,1fr) auto;align-items:start;gap:24px;display:grid}.columns>section:last-child{max-height:calc(100vh - 32px);position:sticky;top:16px;overflow-y:auto}@media (width<=1000px){.columns>section:last-child{max-height:none;position:static}.columns{grid-template-columns:minmax(0,1fr)}}.entries{border-collapse:collapse;table-layout:fixed;width:100%}.entries th{text-align:left;color:#6f6d66;border-bottom:1px solid #e2e0da;padding:4px;font-size:12px;font-weight:500}.entries td{vertical-align:middle;padding:3px 4px}.col-number{width:46px}.cell-number{color:#6f6d66;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:8px;font-size:12px}.col-answer{width:150px}.col-cells{width:70px}.col-actions{width:30px}.col-problem{width:92px}.cells{text-align:center;color:#6f6d66;font-variant-numeric:tabular-nums}.answer-input{letter-spacing:.04em;font-weight:500}.row-bad .answer-input{border-color:#b3261e}.row-unplaced .answer-input{background:#fdf7e8;border-color:#c08a1e}.problem{color:#b3261e;font-size:11px;line-height:1.3}.row-unplaced .problem{color:#8a5f0a}.palette{flex-wrap:wrap;gap:3px;max-width:420px;margin-top:12px;display:flex}.palette-key{min-width:30px;padding:4px 6px;font-size:13px}.palette-key.wide{min-width:40px;font-weight:500}.panel{margin-bottom:14px}.panel-actions{gap:8px;margin-bottom:8px;display:flex}.stats{color:#43413c;flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.stats .muted{color:#8b8981}.warn{color:#8a5f0a;background:#fdf7e8;border-radius:6px;margin-top:8px;padding:7px 10px;font-size:13px}.grid{background:#b9b7b0;border:1px solid #b9b7b0;gap:1px;width:max-content;display:grid}.cell{background:#fff;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative}.cell.block{background:#c9c7c0}.cell.hot{background:#cfe0fa}.cell{transition:background 80ms}.entries tbody tr.row-hot>td{background:#e7eefb}.entries tbody tr>td{transition:background 80ms}.num{color:#6f6d66;font-size:9px;line-height:1.1;position:absolute;top:0;left:2px}.letter{font-size:16px;font-weight:500}.letter.digraph{letter-spacing:-.03em;font-size:11px}.provider-pick{font:inherit;background:#fff;border:1px solid #cfcdc6;border-radius:6px;padding:6px 8px;font-size:13px}.puzzle-name{width:180px}.puzzle-name:placeholder-shown{color:#6f6d66}.side-actions{gap:4px;display:flex}.side-actions button{padding:4px 8px;font-size:12px}.group{margin-bottom:12px}.group-head{text-transform:uppercase;letter-spacing:.04em;color:#8b8981;border-bottom:1px solid #e2e0da;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:11px;display:flex}.group-head.loose{padding:2px 0 3px}.group-name{text-align:left;min-width:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;flex:1;padding:2px 0 3px}.group-name:hover{color:#1b1b19;background:0 0}.group-head .row-delete{padding:2px 4px}.group:hover .group-head .row-delete{opacity:1}.group-meta{color:#a5a39c;margin-bottom:4px;font-size:11px}.puzzle-group{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.nav{flex-direction:column;gap:2px;display:flex}.nav button{text-align:left;background:0 0;border-color:#0000;justify-content:space-between;align-items:center;padding:7px 8px;display:flex}.nav button.active{color:#1b3d73;background:#e7eefb;font-weight:500}.nav-count{color:#8b8981;font-variant-numeric:tabular-nums;font-size:12px}.nav button.active .nav-count{color:#4a71ad}.view-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.view-head h1{margin:0;font-size:18px;font-weight:500}.crumbs{align-items:center;gap:6px;display:flex}.section-title{margin:22px 0 8px;font-size:14px;font-weight:500}.index{border-collapse:collapse;width:100%}.index th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#8b8981;border-bottom:1px solid #e2e0da;padding:6px 8px;font-size:11px;font-weight:500}.index td{border-bottom:1px solid #efeee9;padding:8px}.index tbody tr{cursor:pointer}.index tbody tr:hover{background:#f4f3ef}.index tbody tr:hover .row-delete{opacity:1}.index .col-num{color:#6f6d66;font-variant-numeric:tabular-nums;width:52px}.index .col-group{width:160px}.index .col-count{font-variant-numeric:tabular-nums;width:80px}.index .col-state{width:130px}.index .col-when{color:#6f6d66;font-variant-numeric:tabular-nums;width:110px}.index .col-actions{width:34px}.muted{color:#a5a39c}.pill{color:#6f6d66;background:#ecece6;border-radius:10px;padding:1px 8px;font-size:12px;display:inline-block}.pill.live{color:#2c7a4b;background:#e4f1e8}.pill.warn{color:#8a5f0a;background:#fdf7e8}.form-row{align-items:flex-start;gap:12px;margin-bottom:6px;display:flex}.form-row .field{width:220px;margin-bottom:0}.form-row>button{margin-top:21px}.add-row{gap:8px;margin-top:12px;display:flex}.add-row select{font:inherit;background:#fff;border:1px solid #cfcdc6;border-radius:6px;min-width:260px;padding:5px 8px;font-size:13px}.cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));align-items:start;gap:12px;display:grid}.card{cursor:pointer;background:#fff;border:1px solid #e2e0da;border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;transition:border-color .1s,box-shadow .1s;display:flex}.card:hover{border-color:#cfcdc6;box-shadow:0 2px 8px #0000000f}.card:hover .row-delete{opacity:1}.card>header{justify-content:space-between;align-items:center;min-height:22px;display:flex}.card-num{color:#6f6d66;font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.card-kind{text-transform:uppercase;letter-spacing:.04em;color:#8b8981;font-size:11px}.card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:15px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.card-facts{gap:18px;margin:0;display:flex}.card-facts dt{color:#8b8981;font-size:11px}.card-facts dd{margin:0;font-size:13px}.card>footer{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:4px;display:flex}.card-when{color:#a5a39c;font-variant-numeric:tabular-nums;font-size:12px}.kind-list{flex-direction:column;gap:8px;margin-bottom:4px;display:flex}.kind{text-align:left;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.kind strong{font-weight:500}.kind small{color:#8b8981;font-size:12px}.pick-list{flex-direction:column;gap:6px;max-height:320px;margin-bottom:16px;display:flex;overflow-y:auto}.pick{text-align:left;flex-direction:column;gap:1px;padding:8px 10px;display:flex}.pick strong{font-weight:500}.pick small{color:#8b8981;font-size:12px}.pick.active{background:#e7eefb;border-color:#7ba0dd}.pick.active small{color:#4a71ad}.modal-actions{flex-wrap:wrap}.card-facts .range{color:#a5a39c;font-size:11px}.week-picker{background:#fff;border:1px solid #cfcdc6;border-radius:8px;max-height:260px;padding-bottom:4px;position:relative;overflow-y:auto}.week-month h4{z-index:1;letter-spacing:.04em;text-transform:uppercase;color:#8b8981;background:#fbfaf8;border-bottom:1px solid #efeee9;margin:0;padding:6px 10px 4px;font-size:11px;font-weight:600;position:sticky;top:0}.week{text-align:left;background:0 0;border:none;border-radius:0;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;width:100%;margin:0;padding:6px 10px;font-size:13px;display:grid}.week:hover:not(:disabled){background:#f0efec}.week:focus-visible{outline-offset:-2px;outline:2px solid #4a7fd4}.week-no{font-variant-numeric:tabular-nums;text-align:center;color:#6f6d66;background:#f0efec;border-radius:4px;padding:1px 0;font-size:12px}.week-range{color:#43413c;font-variant-numeric:tabular-nums}.week-range i{color:#b9b7b0;font-style:normal}.week-meta{justify-self:end;align-items:center;gap:8px;min-width:0;display:flex}.week-tag{color:#2c7a4b;font-size:11px}.week-holder{color:#8b8981;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:11px;overflow:hidden}.week.current .week-no{color:#2c7a4b;background:#e4f1e8;font-weight:600}.week.selected{background:#e7eefb}.week.selected .week-range{color:#1b3d73;font-weight:500}.week.selected .week-no{color:#fff;background:#2f6fd0;font-weight:600}.week.taken{opacity:1;cursor:not-allowed}.week.taken .week-range{color:#a5a39c}.week.taken .week-no{color:#c2c0b9;background:#f6f5f2}.entries-pane{flex-direction:column;min-width:0;display:flex}.entries-scroll{overscroll-behavior:contain;background:#fff;border:1px solid #e2e0da;border-radius:8px;max-height:calc(100vh - 210px);padding:0 8px;overflow-y:auto}.entries-scroll .entries thead th{z-index:1;background:#fff;position:sticky;top:0}.entries-scroll .entries tfoot td{background:#fff;border-top:1px solid #efeee9;position:sticky;bottom:0}.col-pin{width:26px}.pin{color:#c2c0b9;opacity:0;cursor:pointer;background:0 0;border:none;padding:2px;font-size:12px;line-height:1}.entries tbody tr:hover .pin,.pin:focus-visible{opacity:1}.pin:hover{color:#6f6d66;background:0 0}.pin.on{opacity:1;color:inherit}.row-pinned .answer-input{background:#f7faff;border-color:#7ba0dd}.head-note{align-items:center;gap:10px;display:flex}.config-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px 16px;margin-bottom:6px;display:grid}.config-grid .field{margin-bottom:0}.release{background:#fff;border:1px solid #e2e0da;border-radius:10px;margin-bottom:14px;padding:14px 16px}.release>header{border-bottom:1px solid #efeee9;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.release h3{margin:0;font-size:15px;font-weight:500}.toggle{color:#6f6d66;align-items:center;gap:6px;font-size:13px;display:flex}.toggle input{width:auto}.probe{max-width:200px}.auth-screen{background:#fbfaf8;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{text-align:center;background:#fff;border:1px solid #e2e0da;border-radius:10px;width:100%;max-width:320px;padding:28px 24px}.auth-title{margin:0 0 6px;font-size:20px;font-weight:500}.auth-note{color:#6f6d66;margin:0 0 18px;font-size:13px}.auth-card button{width:100%}.auth-error{color:#9d3535;margin:12px 0 0;font-size:12px}.account{border-top:1px solid #e9e7e1;align-items:center;gap:6px;margin-top:auto;padding-top:10px;display:flex}.account-email{color:#6f6d66;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.gen{border-top:1px solid #e9e7e1;margin-top:14px;padding-top:10px}.gen-head{color:#6f6d66;background:0 0;border-color:#0000;justify-content:space-between;align-items:center;width:100%;padding:4px 0;font-size:13px;display:flex}.gen-chevron{color:#a8a69e}.gen-body{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:8px;display:grid}.gen-group h4{color:#8b8981;text-transform:none;letter-spacing:0;margin:0 0 6px;font-size:12px;font-weight:500}.gen-row{border-bottom:1px solid #f4f3ef;justify-content:space-between;gap:8px;padding:3px 0;font-size:12px;display:flex}.gen-label{color:#8b8981}.gen-value{color:#3a3934;font-variant-numeric:tabular-nums;text-align:right}.gen-note{color:#8b8981;grid-column:1/-1;margin:4px 0 0;font-size:12px}.gen-row{align-items:baseline}.gen-label{flex:0 auto;min-width:0}.gen-value{overflow-wrap:anywhere;flex:auto}.range-pair{align-items:center;gap:8px;display:flex}.range-pair input{text-align:center}.range-dash{color:#8b8981}
