:root{--bg:#1a0f08;--surface:#2e1a0e;--surface-2:#3b2415;--line:#b8860b47;--gold:#b8860b;--gold-bright:#d9a92b;--cream:#f5f0e8;--muted:#c4b49a;--faint:#8a7660;--ok:#7fa556;--danger:#c25a3c;--mana:#7b9be0;--radius:14px;--font-title:"Philosopher", Georgia, serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--cream);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.45}body{background:radial-gradient(ellipse at top, #b8860b1f, transparent 60%), var(--bg);min-height:100dvh}h1,h2,h3{font-family:var(--font-title);color:var(--gold-bright);letter-spacing:.01em;margin:0;font-weight:700}h1{font-size:1.7rem}h2{font-size:1.3rem}h3{font-size:1.05rem}.app{max-width:560px;padding:16px 16px calc(88px + env(safe-area-inset-bottom));margin:0 auto}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:10px;display:flex}.spread{justify-content:space-between;align-items:center;gap:10px;display:flex}.muted{color:var(--muted)}.faint{color:var(--faint);font-size:.9rem}.center{text-align:center}.card{background:linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid var(--line);border-radius:var(--radius);padding:14px}.divider{background:var(--line);height:1px;margin:4px 0}button{font:inherit;cursor:pointer}.btn{border:1px solid var(--gold);background:linear-gradient(180deg, var(--gold-bright), var(--gold));color:#1a0f08;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-weight:700;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{color:var(--gold-bright);background:0 0}.btn.small{min-height:36px;padding:0 12px;font-size:.9rem}.btn.block{width:100%}.link{color:var(--gold-bright);text-underline-offset:3px;background:0 0;border:none;padding:4px;text-decoration:underline}input,select{font:inherit;border:1px solid var(--line);background:var(--bg);width:100%;min-height:48px;color:var(--cream);border-radius:12px;padding:0 14px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}label{color:var(--muted);flex-direction:column;gap:6px;font-size:.95rem;display:flex}.pin-input{letter-spacing:.6em;text-align:center;font-size:1.5rem}.error{color:var(--danger);font-size:.95rem}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--cream);border-radius:999px;padding:0 14px}.chip.on{border-color:var(--gold-bright);color:var(--gold-bright);background:#b8860b33}.task{border:1px solid var(--line);background:var(--surface);width:100%;min-height:60px;color:var(--cream);text-align:left;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.task .icon{text-align:center;flex-shrink:0;width:32px;font-size:1.5rem}.task .body{flex:1;min-width:0}.task .title{font-weight:600}.task .desc{color:var(--faint);font-size:.85rem}.task .check{border:2px solid var(--gold);border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.task.done{background:#7fa5561f;border-color:#7fa55699}.task.done .check{background:var(--ok);border-color:var(--ok);color:#1a0f08}.task.locked{opacity:.65}.task .tag{color:var(--gold-bright);font-size:.75rem}.scroll-grid{grid-template-columns:minmax(56px,1.4fr) repeat(7,minmax(0,1fr));align-items:center;gap:4px;display:grid}.scroll-grid .head{text-align:center;color:var(--muted);font-size:.8rem}.scroll-grid .head.today{color:var(--gold-bright);font-weight:700}.scroll-grid .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.cell{aspect-ratio:1;border:1px solid var(--line);background:var(--bg);width:100%;max-width:38px;color:var(--muted);border-radius:9px;justify-self:center;place-items:center;padding:0;font-size:.8rem;display:grid}.cell.ok{border-color:var(--ok);color:var(--cream);background:#7fa55640}.cell.miss{border-color:var(--danger);color:var(--cream);background:#c25a3c38}.cell.watch{border-style:dashed}.cell.today{outline:2px solid var(--gold-bright);outline-offset:1px}.stat{flex-direction:column;gap:2px;display:flex}.stat .value{font-family:var(--font-title);color:var(--gold-bright);font-size:1.6rem}.stat .label{color:var(--muted);font-size:.8rem}.mana-value{color:var(--mana)}.nav{border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:10;background:#1a0f08f5;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-inner{width:100%;max-width:560px;display:flex}.nav button{min-height:64px;color:var(--faint);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.75rem;display:flex}.nav button .i{font-size:1.35rem}.nav button.on{color:var(--gold-bright)}.die{background:var(--cream);width:72px;height:72px;color:var(--surface);font-family:var(--font-title);border-radius:16px;place-items:center;font-size:2.2rem;font-weight:700;display:grid;box-shadow:0 6px 18px #00000080,inset 0 -4px #00000026}.die.anti{color:#ff9a8a;background:#3a1a22}.die.rolling{animation:.25s linear infinite roll}@keyframes roll{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.12)}to{transform:rotate(360deg)scale(1)}}.die.landed{animation:.45s ease-out land}@keyframes land{0%{transform:scale(1.35)}60%{transform:scale(.92)}to{transform:scale(1)}}.toast{left:50%;bottom:calc(80px + env(safe-area-inset-bottom));background:var(--surface-2);border:1px solid var(--gold);z-index:20;text-align:center;border-radius:12px;width:max-content;max-width:calc(100% - 32px);padding:10px 16px;position:fixed;transform:translate(-50%)}.qr{background:var(--cream);border-radius:12px;width:220px;height:220px;margin:0 auto;padding:12px}.code{letter-spacing:.15em;color:var(--gold-bright);text-align:center;font-family:ui-monospace,monospace;font-size:1.6rem}@media (prefers-reduced-motion:reduce){.die.rolling,.die.landed{animation:none}}.task-progress{--progress-color:#cf5b50;flex-wrap:wrap;align-items:center;gap:6px;min-width:100px;max-width:190px;display:flex}.task-progress.green{--progress-color:#62ba79}.task-progress.gold{--progress-color:#e8bb45}.task-progress-track{border:1px solid var(--progress-color);border-radius:4px;flex:80px;min-width:55px;height:10px;overflow:hidden}.task-progress-track>span{background:var(--progress-color);height:100%;transition:width .25s,background-color .25s;display:block}.task-progress-count{font-variant-numeric:tabular-nums;font-size:.85rem}.task-progress-bonus{color:#e8bb45;white-space:nowrap;font-size:.8rem}.task-progress.compact{min-width:0}.pending-task{border:1px dashed var(--gold);border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:4px;padding:12px;display:flex}.pending-task small{opacity:.7}.bonus-options,.custom-bonus,.council-request,.location-task{border:1px solid #745330;border-radius:10px;padding:12px}.council-request input,.location-task input{width:100%}.notification-bar{justify-content:flex-end;margin-bottom:12px;display:flex}.task-with-reminder{align-items:stretch;gap:5px;display:flex}.task-with-reminder .task{flex:1;min-width:0}.task-remind{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:9px;flex:0 0 36px;padding:4px;font-size:1rem}.task-remind:disabled{opacity:.25;cursor:default}.notification-badge{color:#fff;background:#a43930;border-radius:20px;padding:2px 7px}.inbox-item{border-top:1px solid #745330;padding:12px 0}.inbox-item.unread{border-left:3px solid var(--gold);padding-left:10px}.chronicle-entry p,.inbox-item p{overflow-wrap:anywhere;margin:8px 0}.inbox-item p{white-space:pre-line}.day-heading{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:4px 0}@media (prefers-reduced-motion:reduce){.task-progress-track>span{transition:none}}:root .notification-bar{justify-content:space-between;gap:8px;display:flex}.chat-messages{flex-direction:column;gap:12px;display:flex}.chat-message{border:1px solid var(--gold);border-radius:12px;align-self:flex-start;min-width:150px;max-width:92%;padding:10px 12px}.chat-message.own{background:#b8860b1f;align-self:flex-end}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}.chat-byline{justify-content:space-between;align-items:center;gap:12px;display:flex}.chat-byline time{opacity:.7;font-size:.75rem}.chat-byline strong{overflow-wrap:anywhere;min-width:0}.chat-tail{height:2px}.challenge-progress{width:100%;height:14px;accent-color:var(--gold-bright)}.challenge-title{overflow-wrap:anywhere}.challenge-reward{border-left:3px solid var(--gold);overflow-wrap:anywhere;white-space:pre-wrap;background:#b8860b1f;gap:4px;padding:10px 12px;display:grid}.challenge-reward small{color:var(--muted)}.challenge-reward strong{color:var(--gold-bright)}.challenge-entry{border-top:1px solid var(--line);padding-top:12px}.challenge-entry p{overflow-wrap:anywhere;margin:0}.challenge-chart{width:100%;height:auto;display:block}.challenge-chart text{fill:var(--muted);font:14px sans-serif}.challenge-table{overflow-x:auto}.challenge-table table{border-collapse:collapse;width:100%;font-size:.85rem}.challenge-table th,.challenge-table td{text-align:left;border-bottom:1px solid var(--line);padding:8px 4px}.chat-composer textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--gold);width:100%;min-height:90px;color:inherit;font:inherit;background:#00000038;border-radius:8px;padding:12px}.treasure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.treasure-tile{color:#9d96ac;cursor:pointer;text-align:center;min-width:0;font:inherit;background:linear-gradient(155deg,#252331,#171720);border:1px solid #454251;border-radius:14px;flex-direction:column;align-items:center;gap:9px;padding:14px 10px;display:flex;position:relative}.treasure-tile strong{color:#d1c9db;font-size:1rem}.treasure-tile.owned{color:#ecc775;background:linear-gradient(155deg,#403324,#201c20);border-color:#d9ac51;box-shadow:inset 0 0 25px #bb8b2820,0 3px 16px #0003}.treasure-tile.owned strong{color:#ffe1a0}.treasure-count{font-weight:700;position:absolute;top:10px;right:12px}.card-art{align-self:center;width:100%;max-width:240px;height:auto}.treasure-tile .card-art{max-width:180px}.treasure-tile .faint{overflow-wrap:anywhere;font-size:.74rem}.treasure-tile progress{accent-color:#d9ac51;width:100%;height:5px}.treasure-detail{border-color:#b18c48;scroll-margin-top:12px}dialog.treasure-detail{width:calc(100% - 24px);max-width:520px;max-height:90dvh;color:var(--cream);margin:auto;overflow-y:auto}dialog.treasure-detail:not([open]){display:none}dialog.treasure-detail::backdrop{background:#080508c9}.quick-card{margin:3px 0 8px 35px}fieldset{border:1px solid #63556a;border-radius:10px;min-width:0;padding:14px}fieldset input[type=checkbox],.row input[type=checkbox]{flex-shrink:0;width:20px;height:20px}@media (width>=650px){.treasure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.salary-details{border-top:1px solid var(--line);padding-top:12px}.salary-details>summary{cursor:pointer;color:var(--gold-bright)}.salary-details>div{margin-top:14px}.salary-lines .spread{align-items:flex-start;gap:12px}.salary-lines strong{white-space:nowrap}.salary-day{border-top:1px solid var(--line);gap:12px;padding:8px 0;font-size:.85rem;display:flex}.salary-day strong{min-width:44px}.exemption-banner,.exemption-progress{color:var(--mana)}.exemption-banner{border:1px solid var(--line);border-radius:10px;padding:12px}.exemption-row{border-top:1px solid var(--line);padding-top:12px}.cell.exempt{color:var(--mana);background:#7b9be01a}dialog.history-editor{width:calc(100% - 24px);max-width:600px;max-height:90dvh;color:var(--cream);margin:auto;padding:16px;overflow-y:auto}dialog.history-editor:not([open]){display:none}dialog.history-editor::backdrop{background:#080508d9}.history-editor h2{overflow-wrap:anywhere}.history-editor .row{flex-wrap:wrap}.history-toolbar{z-index:1;background:var(--surface);border-bottom:1px solid var(--line);padding:12px 0;position:sticky;top:-16px}.history-toolbar h2{margin:0;font-size:1.1rem}.history-days{text-align:center;gap:10px}.history-actions{background:var(--surface);border-top:1px solid var(--line);padding:12px 0;position:sticky;bottom:-16px}.history-actions .btn{flex:1}.choice{align-items:center;gap:10px;display:flex}.choice input[type=checkbox]{flex-shrink:0;width:20px;height:20px}.setup-wizard .chips .chip{white-space:normal;text-align:left;overflow-wrap:anywhere}.setup-wizard .chips small{color:var(--muted);display:block}.setup-content{border:0;min-width:0;margin:0;padding:0}.setup-actions{background:var(--surface);border:1px solid var(--line);z-index:1;border-radius:10px;padding:10px;position:sticky;bottom:8px}.setup-actions .btn{flex:1}.setup-wizard input,.setup-wizard select,.setup-wizard fieldset{min-width:0;max-width:100%}
