:root{--bg:#0a0a0b;--surface:#111113;--line:#1f1f23;--text:#ededef;--dim:#8a8a93;--faint:#4a4a52;--gold:#c9a96a;--red:#b05c5c;--serif:"Instrument Serif",serif;--sans:"Inter",sans-serif;--mono:"JetBrains Mono",monospace}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}.micro{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:500}.mono{font-family:var(--mono);color:var(--dim);font-size:12.5px}.serif{font-family:var(--serif)}.gold{color:var(--gold)}.red{color:var(--red)}.app{min-height:100vh;display:flex}aside{border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:220px;height:100vh;padding:40px 28px;display:flex;position:sticky;top:0}.logo{font-family:var(--serif);margin-bottom:6px;font-size:22px}.logo-sub{color:var(--faint);letter-spacing:.1em;margin-bottom:44px;font-size:11px}nav{flex-direction:column;gap:2px;display:flex}nav button{all:unset;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);border-radius:6px;justify-content:space-between;align-items:center;margin:0 -12px;padding:9px 12px;font-size:13px;transition:all .2s;display:flex}nav button:hover{color:var(--text)}nav button.active{color:var(--text);background:var(--surface)}.gate-dot{background:var(--gold);border-radius:50%;width:5px;height:5px}.side-foot{flex-direction:column;gap:10px;margin-top:auto;display:flex}.sync-line{font-family:var(--mono);color:var(--faint);text-align:center;letter-spacing:.08em;font-size:10px;line-height:1.7}.sync-line.err{color:var(--red)}.reset-btn{all:unset;cursor:pointer;font-family:var(--mono);color:var(--faint);text-align:center;letter-spacing:.08em;font-size:10px;line-height:1.7;transition:all .2s}.reset-btn:hover{color:var(--red)}main{flex:1;min-width:0;max-width:1000px;padding:56px 64px 120px}section.view{animation:.25s fade}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}h2.sec{font-family:var(--serif);margin:4px 0;font-size:26px;font-weight:400}.sub{color:var(--dim);max-width:580px;font-size:14px}.sec-label{justify-content:space-between;align-items:baseline;gap:12px;padding:36px 0 8px;display:flex}.add{all:unset;cursor:pointer;font-family:var(--mono);letter-spacing:.1em;color:var(--faint);border:1px solid var(--line);white-space:nowrap;border-radius:5px;padding:4px 12px;font-size:10.5px;transition:all .2s}.add:hover{color:var(--gold);border-color:#33322c}.hint{font-family:var(--mono);color:var(--faint);border:1px dashed #26262b;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:18px 20px;font-size:12px;line-height:1.8;display:flex}.hint .go{all:unset;cursor:pointer;font-family:var(--mono);letter-spacing:.1em;color:var(--dim);border:1px solid var(--line);white-space:nowrap;border-radius:5px;padding:5px 14px;font-size:10.5px;transition:all .2s}.hint .go:hover{color:var(--gold);border-color:#33322c}.steps{border:1px solid #33322c;border-radius:8px;margin-top:26px;padding:24px 26px}.step{cursor:pointer;border-bottom:1px solid #141416;align-items:center;gap:16px;padding:10px 0;transition:all .2s;display:flex}.step:last-child{border-bottom:0}.step:hover .st{color:var(--text)}.step .n{font-family:var(--mono);color:var(--faint);width:20px;font-size:11px}.step .st{color:var(--dim);flex:1;transition:all .2s}.step .mark{font-family:var(--mono);color:var(--faint);font-size:11px}.step.done .st{color:var(--faint);text-decoration:line-through}.step.done .mark{color:var(--gold)}.t-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:30px;display:flex}h1.name{font-family:var(--serif);cursor:pointer;font-size:38px;font-weight:400;line-height:1.1}h1.name:hover:after{content:" ✎";color:var(--faint);font-size:18px}.t-actions{gap:10px;display:flex}.commit{border-bottom:1px solid var(--line);padding:24px 0}.commit p{font-family:var(--serif);cursor:pointer;margin-top:6px;font-size:20px;font-style:italic}.commit p.empty{color:var(--faint)}.commit p:hover:after{content:" ✎";color:var(--faint);font-size:14px;font-style:normal}.recon{border:1px solid #3a2f22;border-radius:8px;margin-top:26px;padding:22px 24px}.recon-row{border-bottom:1px solid #141416;flex-wrap:wrap;align-items:center;gap:14px;padding:10px 0;display:flex}.recon-row:last-child{border-bottom:0}.recon-row .rt{color:var(--dim);flex:1}.rbtn{all:unset;cursor:pointer;font-family:var(--mono);letter-spacing:.08em;color:var(--dim);border:1px solid var(--line);border-radius:5px;padding:5px 11px;font-size:10.5px;transition:all .2s}.rbtn:hover{color:var(--gold);border-color:#33322c}.rbtn.stand:hover{color:var(--red)}.paused-note{border:1px solid var(--line);font-family:var(--mono);color:var(--dim);border-radius:8px;margin-top:26px;padding:18px 22px;font-size:12px}.paused-note b{color:var(--text);font-weight:500}.quest-row{cursor:pointer;border-bottom:1px solid #141416;align-items:center;gap:14px;padding:12px 0;display:flex}.quest-row:last-child{border-bottom:0}.qbox{border:1px solid var(--faint);border-radius:4px;flex-shrink:0;width:16px;height:16px;transition:all .2s;position:relative}.quest-row.done .qbox{border-color:var(--gold);background:var(--gold)}.quest-row.done .qbox:after{content:"";border:1.5px solid #0a0a0b;border-width:0 1.5px 1.5px 0;width:4px;height:8px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.qtitle{flex:1;transition:all .2s}.quest-row.done .qtitle{color:var(--faint)}.quest-row.skipped .qtitle{color:var(--faint);text-decoration:line-through;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}.qdens{font-family:var(--mono);color:var(--faint);text-align:right;font-size:11px}.rowbtn{all:unset;cursor:pointer;font-family:var(--mono);color:#0000;letter-spacing:.05em;font-size:10.5px;transition:all .2s}.quest-row:hover .rowbtn,.exc-row:hover .rowbtn{color:var(--faint)}.rowbtn:hover{color:var(--gold)!important}.rowbtn.danger:hover{color:var(--red)!important}.slot .qbox{border-radius:50%}section.today-off .quest-row{opacity:.35;pointer-events:none}.lnums{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin-top:24px;display:grid}.lnums div{background:var(--bg);padding:18px}.lnums .v{font-family:var(--serif);font-size:30px}.lnums .k{letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-top:4px;font-size:11px}.gridwrap{border:1px solid var(--line);border-radius:8px;margin-top:18px;overflow-x:auto}table.grid{border-collapse:collapse;font-family:var(--mono);width:100%;min-width:760px;font-size:11px}table.grid th,table.grid td{text-align:center;min-width:22px;color:var(--faint);border-bottom:1px solid #141416;border-right:1px solid #141416;padding:7px 0}table.grid th{color:var(--faint);background:var(--surface);font-weight:400}table.grid td.h{text-align:left;min-width:150px;color:var(--dim);background:var(--bg);font-family:var(--sans);padding:7px 12px;font-size:12px;position:sticky;left:0}table.grid td.h.retired{color:var(--faint);text-decoration:line-through}table.grid td.y{color:var(--gold)}table.grid td.n{color:var(--red)}table.grid td.today-col{background:#131311}table.grid th.today-col{color:var(--gold)}.legend{font-family:var(--mono);color:var(--faint);letter-spacing:.05em;margin-top:12px;font-size:11px}.hist{flex-wrap:wrap;gap:26px;margin-top:14px;display:flex}.hist .w{font-family:var(--mono);color:var(--faint);font-size:12px}.hist .w b{font-family:var(--serif);color:var(--text);font-size:24px;font-weight:400;display:block}.hist .w.bad b{color:var(--red)}.areas{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;display:grid}.area{background:var(--bg);cursor:pointer;padding:20px}.area .aname{color:var(--dim);font-size:13px}.area .dens{font-family:var(--serif);margin-top:8px;font-size:28px}.area .trend{font-family:var(--mono);color:var(--faint);margin-top:4px;font-size:11px}.camp{border:1px solid var(--line);border-radius:8px;margin-top:20px;padding:28px;position:relative}.camp .top{flex-wrap:wrap;justify-content:space-between;gap:20px;display:flex}.camp h3{font-family:var(--serif);font-size:24px;font-weight:400}.camp .day{font-family:var(--mono);color:var(--dim);text-align:right;font-size:12px}.camp .eq{font-family:var(--mono);color:var(--dim);margin-top:18px;font-size:12.5px;line-height:2}.camp .eq b{color:var(--text);font-weight:500}.trackline{background:var(--line);height:1px;margin:20px 0 6px;position:relative}.trackline i{background:var(--gold);height:1px;position:absolute;top:0;left:0}.trackline i.drift{background:var(--red)}.trackline .cp{background:var(--faint);border-radius:50%;width:6px;height:6px;position:absolute;top:-2.5px}.verdict{font-family:var(--mono);margin-top:14px;font-size:11.5px}.camp .edit-camp{opacity:0;color:var(--faint);position:absolute;top:20px;right:20px}.camp:hover .edit-camp{opacity:1}.exc-row{border-bottom:1px solid #141416;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;padding:15px 0;display:flex}.exc-row .txt{font-family:var(--serif);font-size:19px;font-style:italic}.exc-meta{font-family:var(--mono);color:var(--faint);align-items:baseline;gap:16px;font-size:11.5px;display:flex}.grave .exc-row .txt{color:var(--faint);text-decoration:line-through}.protocol{color:var(--dim);width:100%;font-size:13px}.protocol b{color:var(--text);font-weight:500}.obs{font-family:var(--mono);color:var(--dim);border-left:1px solid #33322c;margin:14px 0;padding:4px 0 4px 18px;font-size:12px;line-height:1.9}.obs b{color:var(--text);font-weight:500}.feed-item{font-family:var(--mono);color:var(--dim);border-bottom:1px solid #131315;padding:7px 0;font-size:12px}.feed-item b{color:var(--gold);font-weight:500}.sun-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:30px;display:flex}.rank-letter{font-family:var(--serif);color:var(--gold);font-size:72px;line-height:.9}.checkin{border:1px solid var(--line);border-radius:8px;margin-top:30px;padding:28px}.ci-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-top:18px;display:grid}.ci-grid label{letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:6px;font-size:11px;display:block}.ci-span{grid-column:1/-1}input[type=text],input[type=number],input[type=email],input[type=password],select{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--text);font-family:var(--mono);appearance:none;border-radius:6px;outline:none;padding:10px 12px;font-size:13px;transition:border-color .2s}input:focus,select:focus{border-color:#33322c}input[readonly]{color:var(--dim)}.derived{border-top:1px solid var(--line);margin-top:26px;padding-top:22px;animation:.3s fade}.derived .row{gap:14px;padding:6px 0;font-size:14px;display:flex}.derived .k{letter-spacing:.12em;text-transform:uppercase;width:190px;color:var(--faint);flex-shrink:0;padding-top:3px;font-size:11px}.grade{font-family:var(--serif);color:var(--gold);font-size:56px;line-height:1}.prompt{margin-top:28px}.prompt label{font-family:var(--serif);margin-bottom:6px;font-size:21px;display:block}.prev-answer{color:var(--faint);margin-bottom:10px;font-size:13px;font-style:italic}textarea{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--text);font-family:var(--sans);resize:vertical;border-radius:8px;outline:none;min-height:70px;padding:14px;font-size:14px;transition:border-color .2s}textarea:focus{border-color:#33322c}.tribunal{border:1px solid var(--line);border-radius:8px;margin-top:34px;padding:26px}.tribunal .exq{font-family:var(--serif);margin:10px 0 4px;font-size:24px;font-style:italic}.btnrow{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.btn{all:unset;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);color:var(--dim);border-radius:6px;padding:11px 22px;font-size:12px;transition:all .2s}.btn:hover{color:var(--text);border-color:var(--faint)}.btn.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn.primary:hover{background:var(--gold);border-color:var(--gold);color:#0a0a0b}.btn.danger{color:var(--red);border-color:#3a2225}.btn.danger:hover{border-color:var(--red)}.record-block{border:1px solid #33322c;border-radius:8px;margin-top:34px;padding:26px}.record-block .verdict-line{font-family:var(--serif);color:var(--gold);margin-top:6px;font-size:19px}.record-lines{margin-top:12px;line-height:2.1}.month{border:1px solid var(--line);border-radius:8px;margin-top:40px;padding:28px}.mweeks{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:22px;margin-top:16px;display:grid}.mweeks h4{letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:8px;font-size:11px;font-weight:500}.mweeks ul{list-style:none}.mweeks li{color:var(--dim);border-bottom:1px solid #131315;padding:3px 0;font-size:13px}.sealed-note{font-family:var(--mono);color:var(--dim);border:1px solid #33322c;border-radius:8px;margin-top:30px;padding:20px 24px;font-size:12px}.modal-back{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;background:#050506b8;justify-content:center;align-items:flex-start;padding:8vh 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.mbox{background:var(--surface);border:1px solid var(--line);border-radius:10px;width:min(500px,100%);padding:30px;animation:.2s fade}.mfield{margin-top:16px}.mfield label{letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:6px;font-size:11px;display:block}.mbox .btnrow{justify-content:flex-end;margin-top:26px}.mbody{color:var(--dim);margin-top:16px;font-size:14px;line-height:1.8}.mspacer{flex:1}.awaken{background:var(--bg);z-index:300;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.aw{text-align:center;width:min(460px,100%);animation:.6s fade}.aw .logo-big{font-family:var(--serif);letter-spacing:.04em;font-size:44px}.aw h2{font-family:var(--serif);color:var(--dim);margin:18px 0 6px;font-size:24px;font-style:italic;font-weight:400}.aw p{color:var(--faint);max-width:360px;margin:0 auto;font-size:13.5px}.aw input{text-align:center;margin-top:14px;padding:13px;font-size:15px}.aw .btnrow{justify-content:center;margin-top:22px}.aw .foot{font-family:var(--mono);color:var(--faint);letter-spacing:.08em;margin-top:40px;font-size:10.5px}.aw .authswitch{all:unset;cursor:pointer;font-family:var(--mono);color:var(--faint);letter-spacing:.06em;margin-top:18px;font-size:11px}.aw .authswitch:hover{color:var(--dim)}.aw .autherr{font-family:var(--mono);color:var(--red);margin-top:14px;font-size:11.5px}.toast{background:var(--surface);border:1px solid var(--line);font-family:var(--mono);color:var(--dim);z-index:400;border-radius:8px;max-width:90vw;padding:12px 20px;font-size:12px;transition:transform .3s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(80px)}.toast.show{transform:translate(-50%)translateY(0)}.toast b{color:var(--gold);font-weight:500}@media (width<=820px){.app{flex-direction:column}aside{border-right:0;border-bottom:1px solid var(--line);width:100%;height:auto;padding:24px 22px 14px;position:static}nav{flex-flow:wrap;gap:4px}nav button{margin:0;padding:8px 12px;font-size:11.5px}.logo-sub{margin-bottom:16px}.side-foot{flex-direction:row;justify-content:center;align-items:center;gap:16px;margin-top:14px}main{padding:34px 22px 90px}h1.name{font-size:30px}.rank-letter{font-size:54px}.rowbtn{color:var(--faint)}}
