:root{color-scheme:dark;--ink:#f7f0e6;--muted:#c8bca9;--ember:#e49a62;--ember-dark:#9d5733;--night:#15110f;--panel:#241c18;--panel-2:#2d231e;--line:#4b392f;--good:#8fbe91;--danger:#ef8d82}*{box-sizing:border-box}html{font-size:16px}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,#3b2a21 0,var(--night) 52%);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.55}a{color:var(--ember);text-decoration-thickness:.08em;text-underline-offset:.18em}a:hover{color:#ffc093}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1rem clamp(1rem,4vw,3rem);background:rgba(21,17,15,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{font:700 1rem Georgia,serif;letter-spacing:.22em;text-decoration:none;color:var(--ink)}nav{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}nav a,.link-button{font-weight:650;text-decoration:none}.inline{display:inline}.link-button{border:0;background:none;color:var(--ember);padding:0;cursor:pointer}.app-shell{width:min(1120px,92vw);margin:0 auto;padding:clamp(2rem,6vw,5rem) 0}.hero{min-height:72vh;display:flex;flex-direction:column;justify-content:center;max-width:820px}.eyebrow,.kicker{letter-spacing:.2em;color:var(--ember);font-weight:800;font-size:.76rem}.hero h1,.welcome h1,.page-head h1,.auth-card h1{font:700 clamp(2.5rem,7vw,5.4rem)/.98 Georgia,serif;margin:.35rem 0 1.3rem}.page-head h1,.auth-card h1{font-size:clamp(2.2rem,5vw,4rem)}.lead{font-size:clamp(1.08rem,2vw,1.35rem);color:var(--muted);max-width:680px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.2rem;margin-top:2rem}.button,button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:999px;padding:.78rem 1.15rem;background:var(--ember);color:#24140d;font-weight:800;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:#ffc093;color:#24140d}button:disabled{opacity:.45;cursor:not-allowed}.button-secondary{background:transparent;color:var(--muted);border:1px solid var(--line)}.button-secondary:hover{background:var(--panel-2);color:var(--ink)}.auth-card{width:min(560px,100%);margin:3rem auto;background:linear-gradient(145deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:24px;padding:clamp(1.4rem,4vw,2.6rem);box-shadow:0 24px 70px rgba(0,0,0,.28)}form{display:grid;gap:1rem}label{display:grid;gap:.42rem;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#17120f;color:var(--ink);padding:.8rem .9rem;font:inherit}textarea{min-height:100px;resize:vertical}.welcome{margin-bottom:2rem}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.card{background:linear-gradient(145deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:20px;padding:1.4rem;box-shadow:0 18px 45px rgba(0,0,0,.18)}.card h2{font:700 1.6rem Georgia,serif;margin:.4rem 0 .7rem}.muted,small{color:var(--muted)}.error{background:#532721;border:1px solid #8a453d;color:#ffd6d1;padding:.85rem 1rem;border-radius:12px}.notice{background:#203d2b;border:1px solid #406c4e;color:#d4f2d8;padding:.85rem 1rem;border-radius:12px}table{width:100%;border-collapse:collapse}td,th{padding:.7rem;border-bottom:1px solid var(--line);text-align:left}.task-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.task{display:flex;align-items:flex-start;gap:.7rem;border-bottom:1px solid var(--line);padding:.7rem 0}.task form{display:block}.task div{display:grid;gap:.2rem}.task small{display:block}.task.done strong{text-decoration:line-through;color:var(--muted)}.check{padding:.1rem .45rem;background:transparent;color:var(--ember);font-size:1.4rem}.empty{color:var(--muted);padding:1rem 0}.token{display:block;overflow-wrap:anywhere;background:#17120f;border:1px solid var(--line);padding:1rem;border-radius:12px;color:#ffd09f}.hearth-welcome{max-width:850px}.hearth-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;align-items:stretch}.hearth-card{display:flex;flex-direction:column;min-height:220px}.hearth-card>p:not(.kicker){color:var(--muted);flex:1}.hearth-small{grid-column:span 2}.hearth-medium{grid-column:span 3}.hearth-large{grid-column:span 6}.card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem;margin-top:1rem}.quick-action{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:.38rem .7rem;text-decoration:none;font-size:.88rem;font-weight:750}.composition-panel{margin-top:2.5rem;border:1px solid var(--line);border-radius:20px;background:rgba(36,28,24,.75);padding:1.2rem}.composition-panel summary{cursor:pointer;font:700 1.25rem Georgia,serif;color:var(--ink)}.composition-list{display:grid;gap:.65rem;margin-top:1rem}.composition-row{display:grid;grid-template-columns:minmax(220px,1fr) 90px 130px 90px;gap:1rem;align-items:end;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#1b1512}.composition-row>div{display:grid;gap:.25rem}.composition-row label{font-size:.85rem}.visibility-toggle{align-self:center;display:flex;align-items:center;gap:.45rem}.visibility-toggle input{width:auto}.reset-form{margin-top:1rem;display:block}.reset-form button{width:auto}details{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}summary{cursor:pointer;color:var(--ember);font-weight:800}details[open] summary{margin-bottom:1rem}progress{width:100%;height:.65rem;accent-color:var(--ember)}.task-list li{display:grid;gap:.35rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.beacon-public-page{width:min(680px,100%);margin:8vh auto;text-align:center;padding:clamp(2rem,6vw,4rem)}.beacon-public-page h1{font:700 clamp(2.5rem,7vw,5rem)/1 Georgia,serif}.beacon-page-links{display:grid;gap:1rem;margin-top:2rem}.beacon-page-link{width:100%}code{overflow-wrap:anywhere;color:#ffd09f}@media(max-width:900px){.hearth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hearth-small,.hearth-medium{grid-column:span 1}.hearth-large{grid-column:span 2}.composition-row{grid-template-columns:1fr 80px 120px 80px}}@media(max-width:760px){.topbar{align-items:flex-start;flex-direction:column}.topbar nav{gap:.75rem;font-size:.9rem}.card-grid,.two-column,.hearth-grid{grid-template-columns:1fr}.hearth-small,.hearth-medium,.hearth-large{grid-column:span 1}.composition-row{grid-template-columns:1fr 1fr}.composition-row>div{grid-column:1/-1}.app-shell{padding-top:2rem}.hero{min-height:60vh}}