:root{--font-display:"Geist", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-body:"Geist", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", monospace;--bg:#0b0b0c;--card:#161618;--card-2:#1f1f22;--line:#1c1c1e;--line-strong:#3a3a3c;--text:#fff;--muted:#8e8e93;--faint:#636366;--accent:#ff5a36;--accent-ink:#0b0b0c;--accent-soft:#ff5a361f;--done:#fff;--done-ink:#0b0b0c;--ok:#4cd590;--ok-ink:#04150c;--danger:#ff6a6a;--danger-ink:#1c0303;--warn:#ffc23d;--rank-S:#ffc23d;--rank-A:#fff;--rank-B:#ff5a36;--rank-C:#8e8e93;--rank-D:#636366;--glow:none;--cut:12px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--gutter:20px;--page-max:680px;--header-h:56px;--tabbar-h:64px;--shadow-float:0 22px 48px -24px #000000bf, 0 4px 14px -6px #00000080;--spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.2, .8, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=system]{--bg:#070a10;--card:#0e141e;--card-2:#162030;--line:#1d2836;--line-strong:#2b3a4f;--text:#e8eef6;--muted:#8796a9;--faint:#5a6a80;--accent:#66c7ff;--accent-ink:#03111d;--accent-soft:#66c7ff1a;--done:#45d49a;--done-ink:#04170f;--ok:#45d49a;--ok-ink:#04170f;--danger:#ff5468;--danger-ink:#1d0207;--warn:#f2c14e;--rank-D:#8796a9;--glow:radial-gradient(110% 55% at 82% -14%, #1c4a808c 0%, transparent 62%);--shadow-float:0 22px 48px -24px #000c, 0 4px 14px -6px #03111d99}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{background:var(--bg);color:var(--text);font:400 16px/1.5 var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;text-align:inherit;background:0 0;border:0}button:disabled{cursor:default}a{color:inherit}img,svg{display:block}img{max-width:100%}h1,h2,h3{text-wrap:balance;font-weight:600}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent);color:var(--accent-ink)}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.btn,.card,.panel,.window,.tag,.field-control,input:not([type=checkbox],[type=radio],[type=file],[type=range]),textarea,select{border-radius:var(--radius,16px)}.page-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin:var(--space-2) 0 var(--space-6);display:flex}.page-heading h1{font:600 34px/1.05 var(--font-display);letter-spacing:-.02em}.page-heading p{margin-top:var(--space-2);color:var(--muted);font-size:15px}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin:var(--space-8) 0 var(--space-2);display:flex}.section-head h2{font:600 20px/1.2 var(--font-display);letter-spacing:-.01em}.section-description,.quiet-caption,.muted-note{color:var(--muted);font-size:14px;line-height:1.5}.inline-error{color:var(--danger);margin:var(--space-2) 0;font-size:14px;line-height:1.5}.btn{--radius:999px;justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:52px;padding:0 var(--space-5);font:600 17px/1.1 var(--font-display);letter-spacing:.01em;text-align:center;color:var(--accent-ink);background:var(--accent);transition:transform .18s var(--spring);display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;pointer-events:none;background:#fff;transition:opacity .15s;position:absolute;inset:0}.btn:hover:not(:disabled):after{opacity:.1}.btn:active:not(:disabled){transform:scale(.97)}.btn:focus-visible{outline-offset:-6px;outline:2px solid}.btn:disabled{opacity:.38}.btn .icon{flex:none}.btn.ghost{color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}.btn.danger{background:var(--danger);color:var(--danger-ink)}.btn.success{background:var(--ok);color:var(--ok-ink)}.btn.violet{background:var(--rank-A);color:#0d0620}.btn.compact{width:auto;min-height:40px;padding:0 var(--space-4);font-size:15px}.btn-row{gap:var(--space-3);margin-top:var(--space-4);display:flex}.btn-row .btn{flex:1}.quiet-button{min-height:44px;color:var(--muted);font:500 15px/1.2 var(--font-body);align-items:center;gap:6px;transition:opacity .15s;display:inline-flex}.quiet-button:hover:not(:disabled){color:var(--text)}.quiet-button:active:not(:disabled){opacity:.55}.quiet-button:disabled{opacity:.4}.icon-button{width:40px;height:40px;color:var(--muted);transition:transform .18s var(--spring);border-radius:50%;flex:none;place-items:center;display:grid}.icon-button:hover{color:var(--text);background:var(--card)}.icon-button:active{transform:scale(.9)}.icon-button[aria-pressed=true],.icon-button.on{color:var(--text)}.card,.panel{--radius:18px;background:var(--card);padding:var(--space-4)}.panel{margin-bottom:var(--space-3)}.panel-title{margin-bottom:var(--space-3);font:600 18px/1.2 var(--font-display)}.window{--radius:18px;--window:var(--accent);padding:var(--space-4) var(--space-4) var(--space-5);background:var(--card);box-shadow:inset 0 0 0 1px var(--line-strong);position:relative}.window.danger{--window:var(--danger)}.window.warn{--window:var(--warn)}.window-label{color:var(--window,var(--accent));font:600 12px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;display:inline-flex}.rank-badge{--rank:var(--rank-D);isolation:isolate;width:32px;height:32px;color:var(--bg);font:600 13px/1 var(--font-mono);flex:none;place-items:center;display:inline-grid;position:relative}.rank-badge svg{z-index:-1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.rank-badge polygon{fill:var(--rank);stroke:var(--rank);stroke-width:4px;stroke-linejoin:round}.rank-badge.sm{width:24px;height:24px;font-size:11px}.rank-badge.lg{width:48px;height:48px;font-size:19px}.rank-S{--rank:var(--rank-S)}.rank-A{--rank:var(--rank-A)}.rank-B{--rank:var(--rank-B)}.rank-C{--rank:var(--rank-C)}.rank-D{--rank:var(--rank-D)}.bar{--bar-color:var(--accent);grid-template-columns:repeat(10,1fr);gap:3px;width:100%;height:6px;display:grid}.bar>i{background:var(--card-2);position:relative;overflow:hidden}.bar>i:after{content:"";background:var(--bar-color);transform-origin:0;transform:scaleX(var(--seg,0));transition:transform .4s var(--ease-out);position:absolute;inset:0}.bar.thick{gap:4px;height:10px}.bar.green{--bar-color:var(--ok)}.bar.red{--bar-color:var(--danger)}.bar.violet{--bar-color:var(--rank-A)}.check-row{width:100%;min-height:52px;padding:var(--space-3) 0;border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:14px;font-size:16px;line-height:1.4;display:flex}.check-row:last-child{border-bottom:0}.check-row:disabled{opacity:1}.check-box{border:1.5px solid var(--faint);width:20px;height:20px;transition:scale .32s var(--spring);border-radius:3px;flex:none;place-items:center;display:grid}.check-row:active:not(:disabled) .check-box{scale:.7}.check-row.done .check-box{background:var(--done);border-color:var(--done);color:var(--done-ink)}.check-row.done .check-box:after{content:"";background:currentColor;width:13px;height:13px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E") 50%/contain no-repeat}.check-row.done .check-label{color:var(--muted)}.field{gap:var(--space-2);margin-bottom:var(--space-5);display:grid}.field label,.field>span:first-child{color:var(--muted);font-size:14px;font-weight:500}input:not([type=checkbox],[type=radio],[type=file],[type=range]),textarea,select{--cut:8px;width:100%;min-height:48px;padding:var(--space-3) 14px;background:var(--card-2);color:var(--text);font:400 16px/1.4 var(--font-body);border:0;border-radius:0;box-shadow:inset 0 0 0 1px #0000}textarea{resize:vertical;min-height:96px}input:not([type=checkbox],[type=radio],[type=file],[type=range]):focus-visible,textarea:focus-visible,select:focus-visible{box-shadow:inset 0 0 0 1.5px var(--accent);outline:none}::placeholder{color:var(--muted)}input[type=file]{color:var(--muted);font-size:14px}input[type=file]::file-selector-button{margin-right:var(--space-3);background:var(--card-2);color:var(--text);font:600 14px/1 var(--font-display);cursor:pointer;border:0;padding:10px 14px}.segmented,.seg{background:var(--card);border-radius:22px;gap:4px;padding:4px;display:flex}.segmented button,.seg button{min-height:36px;padding:0 var(--space-3);color:var(--muted);font:500 14px/1 var(--font-display);text-align:center;transition:transform .18s var(--spring);border-radius:18px;flex:1}.segmented button:hover,.seg button:hover{color:var(--text)}.segmented button:active,.seg button:active{transform:scale(.97)}.segmented button[aria-pressed=true],.segmented button.selected,.seg button[aria-pressed=true],.seg button.selected,.seg button.on{background:var(--text);color:var(--bg);font-weight:600}.preference-toggle{background:var(--card-2);width:52px;height:32px;box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:999px;flex:none;position:relative}.preference-toggle span{background:var(--muted);width:24px;height:24px;transition:transform .28s var(--spring);border-radius:50%;position:absolute;top:4px;left:4px}.preference-toggle[aria-checked=true]{background:var(--accent);box-shadow:none}.preference-toggle[aria-checked=true] span{background:var(--accent-ink);transform:translate(20px)}.preference-toggle:disabled{opacity:.4}.tag{--radius:999px;background:var(--card-2);color:var(--muted);font:600 12px/1.1 var(--font-body);white-space:nowrap;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.tag.cyan{color:var(--accent)}.tag.violet{color:var(--rank-A)}.tag.gold{color:var(--warn)}.tag.red{color:var(--danger)}.tag.green{color:var(--ok)}.disclosure{border-bottom:1px solid var(--line)}.disclosure>summary{cursor:pointer;min-height:56px;font:600 17px/1.2 var(--font-display);align-items:center;gap:10px;list-style:none;display:flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary>span{color:var(--muted);font:500 15px/1 var(--font-body)}.disclosure>summary:after{content:"";background:var(--muted);width:18px;height:18px;transition:transform .25s var(--ease-out);margin-left:auto;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") 50%/contain no-repeat}.disclosure[open]>summary:after{transform:rotate(180deg)}.disclosure-body{padding:var(--space-1) 0 var(--space-5)}.avatar{background:var(--avatar-color,var(--card-2));color:var(--bg);font:600 13px/1 var(--font-body);border-radius:50%;flex:none;place-items:center;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.system-line{align-items:flex-start;gap:var(--space-2);margin:var(--space-6) 0 0;color:var(--muted);font-size:14px;line-height:1.5;display:flex}.system-line .icon{color:var(--accent);flex:none;margin-top:2px}.empty-state{padding:var(--space-8) 0}.empty-state h2{font:600 22px/1.2 var(--font-display)}.empty-state p{margin:var(--space-2) 0 var(--space-5);color:var(--muted)}.empty-state .btn{width:auto}.loading-skeleton{gap:var(--space-3);padding-top:var(--space-2);display:grid}.loading-skeleton span{background:var(--card);border-radius:18px;height:84px;animation:1.4s ease-in-out infinite skeleton-pulse;display:block}.loading-skeleton span:first-child{width:45%;height:34px;margin-bottom:var(--space-4)}.loading-skeleton p{color:var(--muted);font-size:14px}@keyframes skeleton-pulse{50%{opacity:.45}}.tick{display:inline-block}.reveal,.disclosure[open]>.disclosure-body{animation:reveal .28s var(--ease-out)}@keyframes reveal{0%{opacity:0;translate:0 -6px}}.quest-list{display:grid}.quest-card{border-bottom:1px solid var(--line);text-align:left;width:100%;transition:transform .18s var(--spring);align-items:center;gap:14px;padding:14px 0;display:flex}.quest-card:last-child{border-bottom:0}.quest-card:hover .quest-name{color:var(--accent)}.quest-card:hover .rank-badge polygon{fill:color-mix(in srgb, var(--rank) 26%, transparent)}.quest-card:active{transform:scale(.985)}.quest-card:focus-visible{outline-offset:4px}.quest-card-body{flex:1;gap:8px;min-width:0;display:grid}.quest-name{color:var(--text);font:600 16px/1.3 var(--font-body)}.quest-status{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;line-height:1.3;display:flex}.quest-status.accent{color:var(--accent)}.quest-status.gold{color:var(--warn)}.quest-status.ok{color:var(--ok)}.quest-status.danger,.quest-status.failed{color:var(--danger)}.quest-percent{text-align:right;min-width:44px;color:var(--muted);font:500 18px/1 var(--font-display);font-variant-numeric:tabular-nums;flex:none}.sheet{--cut:18px;width:100%;max-width:none;max-height:92dvh;color:var(--text);background:0 0;border:0;margin:0;padding:0;position:fixed;inset:auto 0 0;overflow:visible}.sheet::backdrop{background:#0009;animation:.2s ease-out fade-in}.sheet-body{max-height:92dvh;padding:var(--space-5) var(--gutter) max(var(--space-6), env(safe-area-inset-bottom));background:var(--card);box-shadow:var(--shadow-float);animation:sheet-up .34s var(--ease-out);border-radius:24px 24px 0 0;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.sheet-head h2{font:600 22px/1.2 var(--font-display)}.sheet .btn-row{margin-top:var(--space-5)}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}@keyframes fade-in{0%{opacity:0}}@media (width>=900px){.sheet{width:min(520px,100% - 64px);height:fit-content;margin:auto;inset:0}.sheet-body{border-radius:24px}}.ring{flex:none;place-items:center;display:inline-grid;position:relative}.ring svg{position:absolute;inset:0}.ring-track{stroke:var(--card-2)}.ring-fill{stroke:var(--accent);stroke-linecap:butt}.ring-fill.green{stroke:var(--ok)}.ring-fill.red{stroke:var(--danger)}.ring-fill.violet{stroke:var(--rank-A)}.ring-fill.gold{stroke:var(--warn)}.ring-center{text-align:center;font:600 20px/1.1 var(--font-display);justify-items:center;display:grid;position:relative}.shell{background:var(--glow), var(--bg);flex-direction:column;height:100dvh;display:flex;position:relative}.app-header{z-index:6;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:calc(var(--header-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(var(--gutter), env(safe-area-inset-right)) 0 max(var(--gutter), env(safe-area-inset-left));flex:none;display:flex;position:relative}.brand{color:var(--text);font:600 17px/1 var(--font-display);letter-spacing:-.01em}.party-stack{min-height:44px;transition:transform .18s var(--spring);align-items:center;display:flex}.party-stack .avatar{width:28px;height:28px;box-shadow:0 0 0 2px var(--bg);font-size:12px}.party-stack .avatar+.avatar{margin-left:-8px}.party-stack:active{transform:scale(.94)}.brand-button{min-height:44px;transition:opacity .15s}.brand-button:hover{color:var(--text)}.brand-button:active{opacity:.6}.header-right{align-items:center;gap:var(--space-2);display:flex}.level-chip{background:var(--accent-soft);min-height:30px;color:var(--accent);font:600 14px/1 var(--font-display);transition:transform .18s var(--spring);border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.level-chip:hover{color:var(--text)}.level-chip:active{transform:scale(.94)}.profile-shortcut{width:40px;height:40px;transition:transform .18s var(--spring);border-radius:50%;place-items:center;display:grid}.profile-shortcut .avatar{width:34px;height:34px;font-size:13px}.profile-shortcut:hover .avatar{box-shadow:0 0 0 2px var(--line-strong)}.profile-shortcut:active{transform:scale(.92)}.group-switch{min-height:40px;padding:0 var(--space-3);color:var(--muted);font:600 14px/1 var(--font-display)}.group-switch:hover{color:var(--text)}.page-content{flex:1;min-height:0;display:flex;position:relative}.screen{overscroll-behavior:contain;width:100%;padding:var(--space-2) max(var(--gutter), env(safe-area-inset-right)) 112px max(var(--gutter), env(safe-area-inset-left));scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;overflow-y:auto}.nav{z-index:5;padding:6px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border-top:1px solid var(--line);background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex:none;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:relative}.nav button{min-height:52px;color:var(--muted);font:500 13px/1 var(--font-body);transition:transform .18s var(--spring);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:relative}.nav.group-navigation button.on,.nav.group-navigation button[aria-current=page]{color:var(--accent);font-weight:600}.group-navigation button:before{display:none}.nav button .icon{width:24px;height:24px}.nav button:hover{color:var(--muted)}.nav button:active{transform:scale(.92)}.nav button.on,.nav button[aria-current=page]{color:var(--text)}.nav button.on .icon,.nav button[aria-current=page] .icon{color:var(--accent)}.nav button.on:before,.nav button[aria-current=page]:before{content:"";background:var(--accent);width:22px;height:2px;position:absolute;top:-6px}.nav-badge{background:var(--danger);color:#fff;min-width:18px;height:18px;font:700 11px/1 var(--font-body);border-radius:9px;place-items:center;padding:0 5px;display:grid;position:absolute;top:6px;left:calc(50% + 14px)}.feedback-toast{z-index:50;left:50%;bottom:calc(var(--tabbar-h) + 18px + env(safe-area-inset-bottom));max-width:calc(100vw - 2 * var(--gutter));background:var(--card-2);color:var(--text);font:500 15px/1.3 var(--font-body);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-float);animation:toast-in .34s var(--spring);border-radius:999px;align-items:center;gap:10px;padding:13px 18px;display:flex;position:fixed;translate:-50%}.feedback-toast .icon{color:var(--ok)}@keyframes toast-in{0%{opacity:0;translate:-50% 12px;scale:.94}}.group-error{justify-content:space-between;align-items:center;gap:var(--space-3);padding:10px var(--gutter);background:color-mix(in srgb, var(--danger) 14%, var(--bg));color:var(--text);flex:none;font-size:14px;line-height:1.4;display:flex}.group-error button{min-height:36px;color:var(--text);font:600 14px/1 var(--font-display);text-underline-offset:3px;flex:none;text-decoration:underline}.connection-note{padding:8px var(--gutter);color:var(--muted);border-bottom:1px solid var(--line);flex:none;font-size:13px}.demo-chip{min-height:30px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--warn) 45%, transparent);color:var(--warn);font:600 12px/1 var(--font-display);letter-spacing:.04em;transition:transform .18s var(--spring);border-radius:999px;padding:0 10px}.demo-chip:hover{background:color-mix(in srgb, var(--warn) 10%, transparent)}.demo-chip:active{transform:scale(.94)}.demo-bar{gap:var(--space-3);display:grid}.demo-bar-label{font:600 16px/1 var(--font-display);align-items:center;gap:8px;display:flex}.demo-bar-actions{gap:var(--space-2);display:grid}.demo-bar-error{color:var(--danger);font-size:14px}@media (width>=900px){:root{--gutter:32px}.screen{padding:var(--space-8) max(var(--gutter), calc((100% - var(--page-max)) / 2)) 120px}.nav{z-index:7;height:var(--header-h);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:flex;position:absolute;top:0;left:50%;translate:-50%}.nav button{min-height:40px;font:500 15px/1 var(--font-body);letter-spacing:0;flex-direction:row;gap:8px;padding:0 14px}.nav button .icon{width:20px;height:20px}.nav button.on,.nav button[aria-current=page]{background:var(--card)}.nav button.on:before,.nav button[aria-current=page]:before{top:auto;bottom:-8px}.nav-badge{margin-left:2px;position:static}.feedback-toast{bottom:32px}}.nav-badge:after{content:attr(data-count)}.review-nudge{align-items:center;gap:var(--space-3);width:100%;margin-top:var(--space-3);text-align:left;transition:transform .18s var(--spring);display:flex}.review-nudge .avatar{width:44px;height:44px;font-size:15px}.review-nudge-text{flex:1;gap:2px;min-width:0;display:grid}.review-nudge-text strong{font:600 16px/1.3 var(--font-body)}.review-nudge-text span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.review-nudge-action{background:var(--accent);color:var(--accent-ink);font:600 14px/1 var(--font-display);clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px));flex:none;padding:11px 14px}.review-nudge:hover .review-nudge-action{opacity:.88}.review-nudge:active{transform:scale(.985)}.quests-head{flex-wrap:wrap;align-items:center}.quests-tools{align-items:center;gap:var(--space-3);display:flex}.quest-filters button{min-height:32px;padding:0 12px;font-size:14px}.issue-quest{margin-top:var(--space-5)}.quests-links{justify-content:center;gap:var(--space-4);margin-top:var(--space-3);display:flex}.today-arc{width:100%;margin:var(--space-2) 0 var(--space-6);text-align:left;gap:6px;display:grid}.today-arc-meta{color:var(--muted);font:500 12px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;display:flex}.today-arc-bar{background:var(--card-2);border-radius:2px;height:3px}.today-arc-bar span{background:var(--text);border-radius:2px;height:100%;display:block}.today-quest{margin:var(--space-2) 0 var(--space-4);gap:10px;display:grid}.today-kind{color:var(--accent);font:600 13px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:10px;display:flex}.today-title{font:600 36px/1.08 var(--font-display);letter-spacing:-.03em}.today-sub{color:var(--muted);font-size:15px}.today-note{width:100%;margin-bottom:var(--space-4);background:var(--card);text-align:left;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.today-note .icon{color:var(--accent);flex:none}.today-note strong{font-size:15px;display:block}.today-note span span{color:var(--muted);font-size:13px}.today-party{gap:10px;margin-top:26px;display:grid}.today-party-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.today-party-head span:first-child{font:600 12px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.today-party-head span:last-child{color:var(--muted);font-size:13px}.today-bars{grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;display:grid}.today-bars span{background:var(--card-2);border-radius:2px;height:4px}.today-party-grid{grid-template-columns:150px minmax(0,1fr);gap:10px;margin-top:2px;display:grid}.today-proof-empty{padding:var(--space-4);color:var(--muted);text-align:center;place-items:center;font-size:13px;line-height:1.4;display:grid;position:absolute;inset:0}.today-proof{background:var(--card-2);height:168px;transition:transform .18s var(--spring);border-radius:16px;position:relative;overflow:hidden}.today-proof:active{transform:scale(.97)}.today-proof img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.today-proof-chip{background:#0b0b0cbf;border-radius:14px;align-items:center;gap:6px;padding:4px 8px 4px 4px;font-size:13px;font-weight:600;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.today-proof-chip .avatar{width:20px;height:20px;font-size:10px}.today-proof-chip time{color:#c7c7cc;font:400 12px/1 var(--font-mono);margin-left:auto}.today-members{align-content:start;gap:8px;list-style:none;display:grid}.today-members li{background:var(--card);border-radius:14px;align-items:center;gap:10px;min-height:40px;padding:0 12px;display:flex}.today-dot{border-radius:4px;flex:none;width:8px;height:8px}.today-member-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;overflow:hidden}.today-member-status{color:var(--muted);font:400 12px/1 var(--font-mono);text-transform:uppercase}.today-extras{margin-top:var(--space-6)}.today-label{margin-bottom:var(--space-1);color:var(--muted);font:600 12px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.today-secondary{width:100%;margin-top:var(--space-2);justify-content:center;display:flex}.today-members li.today-invite{padding:0}.today-invite button{align-items:center;gap:inherit;min-height:44px;color:var(--muted);text-align:left;flex:1;padding:0 12px;transition:opacity .15s;display:flex}.today-invite button:hover{color:var(--accent)}.today-invite button:active{opacity:.6}.today-invite button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.today-invite .today-dot{border:1px dashed var(--muted);background:0 0}.today-party~.arc-invite{margin-top:var(--space-6)}.overlay.tutorial{width:100%;max-width:none;height:100%;max-height:none;padding:max(16px, env(safe-area-inset-top)) var(--gutter) max(24px, env(safe-area-inset-bottom));background:var(--bg);box-shadow:none;border-radius:0;margin:0;animation:.25s both draw-overlay-in;inset:0}.overlay.tutorial[open]{flex-direction:column;display:flex}.overlay.tutorial>*{width:100%;max-width:520px;margin-inline:auto}.tutorial-top{align-items:center;gap:var(--space-4);min-height:44px;display:flex}.tutorial-dots{flex:1;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;display:grid}.tutorial-dots span{background:#2c2c2e;border-radius:2px;height:3px}.tutorial-dots span.on{background:var(--text)}.tutorial-visual{height:360px;margin-top:var(--space-5);padding:var(--space-6);background:var(--card);border-radius:24px;flex-direction:column;justify-content:center;gap:14px;display:flex}.tutorial-visual .pool-tile{background:var(--bg);height:64px}.tutorial-add{border:1px dashed var(--accent);box-shadow:none;color:var(--accent)}.tutorial-mono{color:var(--muted);font:600 12px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.tutorial-mono.accent{color:var(--accent)}.tutorial-draw strong{font:600 32px/1.06 var(--font-display);letter-spacing:-.03em}.tutorial-sudden{background:var(--accent);color:var(--accent-ink);justify-content:flex-start}.tutorial-sudden .tutorial-mono{color:var(--accent-ink);justify-content:space-between;font-size:14px;display:flex}.tutorial-sudden b{background:var(--accent-ink);color:var(--accent);font:600 12px/1 var(--font-body);letter-spacing:0;border-radius:12px;padding:5px 9px}.tutorial-sudden strong{font:500 88px/.9 var(--font-mono);letter-spacing:-.05em;margin-top:22px}.tutorial-sudden-bar{background:var(--accent-ink);border-radius:2px;height:3px}.tutorial-sudden-task{font:600 24px/1.2 var(--font-display);letter-spacing:-.02em;margin-top:auto}.tutorial-forfeit{padding:var(--space-5);justify-content:stretch}.tutorial-proof{background:#1f2730;border-radius:16px;flex:1;position:relative}.tutorial-chip{background:#0b0b0ccc;border-radius:16px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:flex;position:absolute;bottom:10px;left:10px}.tutorial-owed{justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--bg);color:var(--muted);border-radius:16px;padding:14px;font-size:13px;display:flex}.tutorial-owed strong{color:var(--text);font-size:15px;display:block}.tutorial-text{animation:reveal .28s var(--ease-out);gap:10px;margin-top:28px;display:grid}.tutorial-text h2{font:600 32px/1.1 var(--font-display);letter-spacing:-.03em}.tutorial-text p{color:var(--muted);font-size:16px;line-height:1.5}.tutorial-actions{padding-top:var(--space-5);justify-items:center;gap:4px;margin-top:auto;display:grid}.tutorial-alert{background:var(--card-2);box-shadow:var(--shadow-float);color:#c7c7cc;border-radius:22px;gap:12px;margin-top:76px;padding:16px;font-size:14px;line-height:1.4;display:flex}.tutorial-alert small{color:var(--muted);font-size:12px;display:block}.tutorial-alert strong{color:var(--text);margin:2px 0;font-size:16px;display:block}.tutorial-app-icon{background:var(--accent);border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:grid}.tutorial-app-icon:after{content:"";background:var(--accent-ink);border-radius:3px;width:14px;height:14px;transform:rotate(45deg)}.party-start-card{gap:10px;display:grid}.party-start-or{color:var(--muted);align-items:center;gap:12px;margin:20px 0;font-size:13px;display:flex}.party-start-or span{background:#2c2c2e;flex:1;height:1px}.party-start-note{margin-top:var(--space-6);color:var(--muted);text-align:center;font-size:13px}.party-start-alone{width:100%;margin-top:var(--space-4);color:var(--text);justify-content:center;font-weight:600;display:flex}.party-start .party-start-note{margin-top:0}.tutorial-back{margin-left:-10px}.intro-day{gap:var(--space-3)}.intro-hour{gap:var(--space-4);color:var(--muted);display:flex}.intro-hour>span{width:52px;font:600 13px/1.5 var(--font-mono);flex:none}.intro-day strong{margin-top:var(--space-3);color:var(--accent);font:600 26px/1.1 var(--font-display);letter-spacing:-.03em}.intro-story{justify-content:flex-end;gap:var(--space-2);background:var(--accent);color:var(--accent-ink)}.intro-story span:first-child{margin-bottom:auto;font-weight:600}.intro-story strong{font:600 72px/1 var(--font-display);letter-spacing:-.04em}.intro-story b{font:600 24px/1.15 var(--font-display);letter-spacing:-.02em}.intro-chat{justify-content:flex-end;gap:var(--space-2)}.intro-in{animation:reveal .32s var(--ease-out) both;animation-delay:calc(var(--i) * .42s + .15s)}.intro-when{margin-top:var(--space-2);color:var(--muted);text-align:center;font-size:12px}.intro-bubble{background:var(--card-2);border-radius:18px;align-self:flex-start;max-width:85%;padding:9px 14px;font-size:15px;line-height:1.3}.intro-bubble.mine{background:var(--accent);color:var(--accent-ink);align-self:flex-end}.intro-seen{color:var(--muted);align-self:flex-start;padding-left:14px;font-size:12px}.intro-quest strong,.intro-log-title{font:600 26px/1.15 var(--font-display);letter-spacing:-.02em}.intro-tracker{color:var(--muted);gap:6px;font-size:13px;display:grid}.intro-tracker>span{background:#2c2c2e;border-radius:3px;height:5px;overflow:hidden}.intro-tracker>span>span{background:var(--accent);transform-origin:0;height:100%;display:block}.intro-status{color:var(--muted);font:600 12px/1.2 var(--font-mono);flex:none;align-items:center;gap:4px;display:flex}.intro-status.live{color:var(--ok)}@media (prefers-reduced-motion:reduce){.intro-in{animation:none}}.signin{padding-bottom:max(24px, env(safe-area-inset-bottom));flex-direction:column;display:flex}.signin-title{margin-top:var(--space-2);font:600 40px/1.04 var(--font-display);letter-spacing:-.035em}.signin-title span{color:var(--accent)}.signin-sub{color:var(--muted);margin-top:12px;font-size:16px;line-height:1.45}.signin-cards{gap:10px;margin-top:22px;display:grid}.signin-card{background:var(--card);border-radius:18px;gap:8px;padding:16px;display:grid}.signin-card strong{font:600 20px/1.2 var(--font-display);letter-spacing:-.02em}.signin-card.sudden{background:var(--accent);color:var(--accent-ink)}.signin-card.sudden .today-kind{color:var(--accent-ink)}.signin-actions,.signin-bottom{padding-top:var(--space-6);gap:10px;margin-top:auto;display:grid}.signin .btn{min-height:48px}.signin-apple{color:#000;background:#fff}.signin-google{color:#e3e3e3;background:#131314;box-shadow:inset 0 0 0 1px #8e918f}.signin-foot{color:var(--muted);text-align:center;font-size:13px;line-height:1.5}.signin-top{justify-content:space-between;align-items:center;margin-left:-10px;display:flex}.signin-top .today-label{margin-left:auto}.signin-form{flex-direction:column;flex:1;gap:10px;margin-top:20px;display:flex}.signin-form h1{font:600 32px/1.1 var(--font-display);letter-spacing:-.03em}.signin-form .signin-sub{margin:0 0 18px;font-size:15px}.signin-form input{border:1px solid var(--line-strong);background:var(--card);height:54px;padding:0 16px;font-size:17px}.signin-form input.signin-code{height:64px;font:400 30px/1 var(--font-mono);letter-spacing:.4em;text-align:center}.signin-link{color:var(--accent);place-self:center}.signin-foot a{color:inherit;text-underline-offset:2px;text-decoration:underline;transition:opacity .15s}.signin-foot a:hover{color:var(--text)}.signin-foot a:active{opacity:.6}.signin-foot a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.awakening-choices{gap:var(--space-2);margin-top:var(--space-5);display:grid}.awakening-choice{min-height:64px;padding:var(--space-3) var(--space-4);background:var(--card);color:var(--text);font:500 16px/1.3 var(--font-body);text-align:left;transition:transform .2s var(--spring), opacity .15s;border-radius:16px}.awakening-choice:hover{color:var(--accent)}.awakening-choice:active{opacity:.7;transform:scale(.98)}.awakening-choice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.awakening-reveal .signin-title{animation:reveal .5s var(--ease-out) both;margin-top:18vh;font-size:48px}.awakening-goal{margin-top:var(--space-6);padding:var(--space-4);background:var(--card);color:var(--muted);border-radius:16px;gap:4px;font-size:14px;line-height:1.4;display:grid}.awakening-goal strong{color:var(--text);font-size:17px;font-weight:600}.detail-back{min-height:44px;margin:0 0 var(--space-2) -6px;color:var(--muted);font:500 16px/1 var(--font-body);align-items:center;gap:2px;transition:opacity .15s;display:inline-flex}.detail-back:hover{color:var(--text)}.detail-back:active{opacity:.55}.quest-head{align-items:flex-start;gap:var(--space-4);display:flex}.detail-title{font:600 28px/1.12 var(--font-display);letter-spacing:-.015em}.quest-meta{margin-top:var(--space-2);color:var(--muted);font-size:15px}.quest-meta.danger{color:var(--danger);font-weight:600}.quest-tags{margin-top:var(--space-4);flex-wrap:wrap;gap:6px;display:flex}.detail-desc{margin-top:var(--space-4);color:var(--text);font-size:16px;line-height:1.55}.quest-system{gap:var(--space-2);margin-top:var(--space-4);color:var(--muted);font-size:14px;line-height:1.5;display:flex}.quest-system .icon{color:var(--accent);flex:none;margin-top:2px}.invite-window,.status-window{gap:var(--space-2);margin-top:var(--space-5);display:grid}.invite-window p,.status-window p{color:var(--muted);font-size:15px}.status-window.ok{--window:var(--ok)}.status-window .quiet-button{min-height:32px;color:var(--text);justify-self:start}.status-window .btn{margin-top:var(--space-2)}.objective{--cut:16px;gap:var(--space-6);margin-top:var(--space-5);padding:var(--space-5) 18px;display:grid}.tracker{gap:var(--space-3);display:grid}.tracker-top{color:var(--muted);justify-content:space-between;font-size:14px;display:flex}.big-figure{font:500 52px/1 var(--font-display);letter-spacing:-.025em;font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;display:flex}.big-figure .of{color:var(--muted);font:400 17px/1 var(--font-body);letter-spacing:0}.stepper{margin-top:var(--space-1);gap:10px;display:flex}.stepper button{background:var(--card-2);min-height:52px;color:var(--text);font:600 18px/1 var(--font-display);transition:transform .2s var(--spring);border-radius:999px;justify-content:center;align-items:center;gap:6px;display:flex}.stepper .minus{flex:none;width:60px}.stepper .plus{color:var(--accent);flex:1}.stepper button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, var(--card-2))}.stepper button:active:not(:disabled){transform:scale(.94)}.stepper button:disabled{opacity:.35}.stepper button:focus-visible{outline:2px solid var(--accent);outline-offset:-5px}.log-session{margin-top:var(--space-1)}.reward{align-items:center;gap:var(--space-2);margin-top:var(--space-4);color:var(--muted);font-size:14px;display:flex}.reward .icon{color:var(--warn)}.reward b{color:var(--warn);font:600 15px/1 var(--font-display)}.review-card{gap:var(--space-3);margin-bottom:var(--space-3);display:grid}.review-head{align-items:center;gap:var(--space-3);display:flex}.review-head .avatar{width:40px;height:40px}.review-head h3{font:600 16px/1.3 var(--font-body)}.review-head .when{color:var(--muted);font-size:13px}.review-note{font-size:16px;line-height:1.5}.proof-link{display:block}.proof-photo{object-fit:cover;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));width:100%;max-height:420px}.review-card .quiet-caption.ok{color:var(--ok)}.review-card .btn-row{margin-top:0}.review-feedback{margin:0}.group-details{margin-top:var(--space-6)}.participant-progress{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line);display:flex}.participant-progress:last-child{border-bottom:0}.participant-progress .avatar{width:34px;height:34px;font-size:12px}.participant-main{gap:var(--space-2);flex:1;min-width:0;display:grid}.tracker-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.tracker-head h3{font:600 15px/1.3 var(--font-body)}.participant-breakdown summary{cursor:pointer;color:var(--muted);font-size:13px;list-style:none}.participant-breakdown summary::-webkit-details-marker{display:none}.participant-breakdown summary:hover{color:var(--text)}.participant-breakdown p{margin-top:4px}.activity-row{padding:var(--space-3) 0;border-bottom:1px solid var(--line);gap:2px;font-size:15px;line-height:1.45;display:grid}.activity-row:last-child{border-bottom:0}.activity-row strong{font-weight:600}.activity-row time{color:var(--muted);font-size:13px}.comment-form{gap:var(--space-2);margin-top:var(--space-6);display:grid}.comment-form label{color:var(--muted);font-size:14px;font-weight:500}.comment-form textarea{min-height:72px}.comment-form .btn{justify-self:end}.end-attempt{margin-top:var(--space-6);color:var(--danger)}.end-attempt:hover:not(:disabled){color:var(--danger);opacity:.8}.cta-bar{z-index:4;margin:var(--space-8) calc(-1 * var(--gutter)) -112px;padding:var(--space-6) var(--gutter) var(--space-4);background:linear-gradient(transparent, var(--bg) 40%);pointer-events:none;position:sticky;bottom:-112px}.cta-bar .btn{pointer-events:auto}.submission-form .field:last-of-type{margin-bottom:0}.arc-panel{--cut:14px;padding:0 var(--space-4);display:grid}.arc-head{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4) 0;text-align:left;transition:transform .18s var(--spring);display:flex}.arc-head:active{transform:scale(.985)}.arc-head:hover strong{color:var(--accent)}.arc-head-text{flex:1;gap:4px;min-width:0;display:grid}.arc-head-text strong{font:600 18px/1.15 var(--font-display)}.arc-head-text span{color:var(--muted);font-size:14px}.arc-head-text .owed{color:var(--danger);font-weight:600}.arc-head-streak{font:600 20px/1 var(--font-display);font-variant-numeric:tabular-nums;align-items:center;gap:3px;display:inline-flex}.arc-head-streak .icon{color:#ff9f43}.arc-head>.icon,.arc-quest>.icon{color:var(--muted);flex:none}.arc-quests{border-top:1px solid var(--line);display:grid}.arc-quests .quest-card{padding:12px 0}.arc-sudden .sd-clock{flex:none}.arc-season{gap:var(--space-3);margin-bottom:var(--space-5);display:grid}.arc-hero{justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.arc-hero small{color:var(--muted);margin-bottom:6px;font-size:14px;display:block}.arc-days{font:500 64px/.9 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;display:flex}.arc-days span{color:var(--muted);font:500 17px/1 var(--font-body);letter-spacing:0}.arc-streak{text-align:right}.arc-streak strong{font:600 34px/1 var(--font-display);align-items:center;gap:4px;display:inline-flex}.arc-streak .icon{color:#ff9f43}.arc-weeks{gap:4px;display:flex}.arc-weeks i{background:var(--card-2);flex:1;height:8px;transform:skew(-24deg)}.arc-weeks i.cleared{background:var(--ok)}.arc-weeks i.pending{background:color-mix(in srgb, var(--ok) 45%, var(--card-2))}.arc-weeks i.failed{background:var(--danger)}.arc-weeks i.now{background:var(--accent)}.arc-week-crew{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;transition:transform .18s var(--spring);flex-wrap:wrap;display:flex}.arc-week-crew:active{transform:scale(.985)}.arc-week-crew:hover strong{color:var(--accent)}.arc-week-crew-text{gap:2px;display:grid}.arc-week-crew-text small{color:var(--muted);font-size:13px}.arc-week-crew-text strong{font:600 16px/1.3 var(--font-body)}.sd-clock{color:var(--danger);font:600 20px/1 var(--font-display);font-variant-numeric:tabular-nums}.arc-faces{align-items:center;display:inline-flex}.arc-faces>span{box-shadow:0 0 0 2px var(--bg);border-radius:50%;margin-right:-6px}.arc-faces>span.done{box-shadow:0 0 0 2px var(--bg), 0 0 0 3.5px var(--ok)}.arc-faces .avatar{letter-spacing:-.02em;width:26px;height:26px;font-size:10px}.arc-faces em{margin-left:14px;font-style:normal}.arc-invite{justify-items:start;gap:var(--space-2);display:grid}.arc-invite h2{font:600 20px/1.2 var(--font-display)}.arc-invite p{color:var(--muted);font-size:14px;line-height:1.5}.arc-invite .btn{margin-top:var(--space-2)}.arc-rules{color:var(--muted);gap:8px;padding-left:18px;font-size:15px;line-height:1.45;display:grid}.arc-rules li::marker{color:var(--accent)}.locked-mode{--cut:10px;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) 14px;background:var(--card);color:var(--muted);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));display:flex}.locked-icon{background:var(--card-2);width:36px;height:36px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.locked-mode>span:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.locked-mode strong{color:var(--text);font:600 16px/1.2 var(--font-display)}.locked-mode small{font-size:13px;line-height:1.4}.arc-person{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line);display:flex}.arc-person:last-child{border-bottom:0}.arc-person-text{flex:1;gap:2px;min-width:0;display:grid}.arc-person-text strong{font-weight:600}.arc-person-text small{color:var(--muted);font-size:13px;line-height:1.4}.arc-person-streak{flex:none;justify-items:end;display:grid}.arc-person-streak strong{font:600 24px/1 var(--font-display)}.arc-person-streak small{color:var(--muted);font-size:12px}.arc-debt{align-items:start;gap:var(--space-2) var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line);grid-template-columns:1fr auto;display:grid}.arc-debt:last-child{border-bottom:0}.arc-debt strong{font-weight:600}.arc-debt p{margin-top:2px;font-size:15px;line-height:1.45}.arc-debt .quiet-button{min-height:32px;font-size:14px}.arc-debt-action{justify-content:flex-end;display:flex}.arc-debt-action:has(.btn){grid-column:1/-1;justify-content:flex-start}.arc-pay{margin-top:var(--space-2);grid-column:1/-1}.arc-pool-item{justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--line);padding:10px 0;font-size:15px;display:flex}.arc-pool-item small{color:var(--muted);flex:none;font-size:13px}.arc-add-forfeit{gap:var(--space-2);margin-top:var(--space-3);display:flex}.arc-add-forfeit input{flex:1}.arc-add-forfeit .btn{min-height:48px}.arc-recap-rings{justify-content:center;gap:var(--space-5);margin:var(--space-5) 0;display:flex}.arc-recap-rings>div{color:var(--muted);justify-items:center;gap:6px;font-size:13px;display:grid}.arc-awards{margin-bottom:var(--space-4);flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.arc-photos{margin:var(--space-4) 0;grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.arc-photos img{aspect-ratio:1;object-fit:cover;width:100%}.arc-debt .arc-debt-quest{color:var(--muted);text-align:left;align-items:center;gap:4px;display:inline-flex}.group-home{flex-direction:column;height:100%;min-height:0;padding-bottom:0;display:flex;position:relative}.group-home-heading{align-items:center;gap:var(--space-3);padding:0 0 var(--space-1);display:flex}.group-photo-button{transition:transform .18s var(--spring);border-radius:50%}.group-photo-button:active{transform:scale(.93)}.group-emblem{width:38px;height:38px;font:600 18px/1 var(--font-display)}.group-home-heading h1{font:600 20px/1.15 var(--font-display);letter-spacing:-.015em;overflow-wrap:anywhere}.group-home-heading p{color:var(--muted);margin-top:1px;font-size:13px}.group-home-heading>div{flex:1;min-width:0}.group-home-heading>.icon-button:first-of-type{margin-left:auto}.group-invite-entry{align-items:center;gap:var(--space-3);width:100%;margin-bottom:var(--space-2);text-align:left;color:var(--accent);transition:transform .18s var(--spring);display:flex}.group-invite-entry:active{transform:scale(.985)}.group-invite-entry>span{gap:2px;display:grid}.group-invite-entry strong{color:var(--text);font:600 16px/1.3 var(--font-body)}.group-invite-entry small{color:var(--muted);font-size:14px}.group-home-tabs{margin-top:var(--space-4);background:var(--card);border-radius:22px;flex-shrink:0;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.group-home-tabs button{min-height:36px;color:var(--muted);font:500 14px/1 var(--font-display);text-align:center;transition:transform .18s var(--spring);border-radius:18px}.group-home-tabs button:hover{color:var(--text)}.group-home-tabs button:active{transform:scale(.97)}.group-home-tabs button.selected{background:var(--text);color:var(--bg);font-weight:600}.show-more{margin:var(--space-3) auto 0;display:flex}.group-home-content .locked-mode{margin-top:var(--space-6)}.group-home-content{padding-bottom:112px}.chat-retained:not([hidden]){flex:1;min-height:0;display:flex}.chat-retained[hidden]{display:none}.group-chat{flex-direction:column;flex:1;width:100%;min-height:300px;display:flex;position:relative}.chat-scroll{overscroll-behavior:contain;min-height:0;padding:var(--space-2) 0 var(--space-4);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 28px);mask-image:linear-gradient(#0000,#000 28px)}.swipe-pages .screen,.swipe-pages .chat-scroll{touch-action:pan-y pinch-zoom}.chat-earlier{margin:var(--space-2) auto;display:flex}.chat-day{margin:var(--space-4) 0 var(--space-2);text-align:center;color:var(--muted);font-size:12px;font-weight:600}.chat-message{animation:message-arrive .22s var(--ease-out);align-items:flex-end;gap:8px;margin-top:2px;display:flex}.chat-message.run-start{margin-top:var(--space-3)}.chat-message.is-mine{justify-content:flex-end}.chat-message.is-pending{opacity:.6}.chat-avatar,.chat-avatar-space{flex:none;width:28px;height:28px;font-size:10px}.chat-message-body{flex-direction:column;align-items:flex-start;min-width:0;max-width:76%;display:flex}.chat-message.is-mine .chat-message-body{align-items:flex-end}.chat-name{color:var(--muted);margin:0 0 3px 12px;font-size:12px;font-weight:600}.chat-bubble{background:var(--card-2);max-width:100%;color:var(--text);text-align:left;transition:transform .18s var(--spring);border-radius:20px;gap:4px;padding:9px 14px;display:grid}.chat-bubble:active{transform:scale(.97)}.chat-message:not(.is-mine):not(.run-start) .chat-bubble{border-top-left-radius:6px}.chat-message:not(.is-mine):not(.run-end) .chat-bubble{border-bottom-left-radius:6px}.chat-message.is-mine .chat-bubble{background:var(--accent);color:var(--accent-ink)}.chat-message.is-mine:not(.run-start) .chat-bubble{border-top-right-radius:6px}.chat-message.is-mine:not(.run-end) .chat-bubble{border-bottom-right-radius:6px}.chat-bubble.is-deleted{box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}.chat-text,.chat-deleted{overflow-wrap:anywhere;white-space:pre-wrap;font-size:16px;line-height:1.38}.chat-deleted{color:var(--muted);font-style:italic}.chat-quote{opacity:.75;border-left:2px solid;padding:4px 0 4px 8px;font-size:13px;line-height:1.35;display:grid}.chat-quote span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-actions{align-items:center;gap:var(--space-1);color:var(--muted);margin-top:4px;font-size:12px;display:flex}.chat-actions time{margin-right:6px}.chat-actions button{min-height:32px;color:var(--text);align-items:center;gap:4px;padding:0 8px;font-size:13px;font-weight:600;display:inline-flex}.chat-actions button:active,.chat-delete-confirm button:active{opacity:.55}.chat-delete-confirm{align-items:center;gap:var(--space-3);color:var(--danger);margin-top:4px;font-size:13px;display:flex}.chat-delete-confirm button{min-height:32px;color:var(--text);font-weight:600}.chat-system{margin:var(--space-3) 0}.chat-system .system-line{background:var(--card);color:var(--text);border-radius:18px;margin:0;padding:14px 16px;font-size:15px;line-height:1.45;box-shadow:inset 0 0 0 1px #2c2c2e}.chat-pending-label{color:var(--muted);margin-top:3px;font-size:12px}.chat-loading{gap:var(--space-3);padding-top:var(--space-3);display:grid}.chat-loading span{background:var(--card);border-radius:20px;width:60%;height:40px;animation:1.4s ease-in-out infinite skeleton-pulse}.chat-loading span:nth-child(2){justify-self:end}.chat-empty{justify-items:start;gap:var(--space-2);padding:var(--space-8) 0;display:grid}.chat-mark{color:var(--accent)}.chat-empty h2{font:600 22px/1.2 var(--font-display)}.chat-empty p{color:var(--muted)}.chat-new{background:var(--card-2);color:var(--accent);font:600 14px/1 var(--font-display);box-shadow:var(--shadow-float);transition:transform .18s var(--spring);border-radius:999px;align-self:center;align-items:center;gap:6px;padding:9px 14px;display:inline-flex;position:absolute;bottom:74px}.chat-new:active{transform:scale(.95)}.chat-error{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;color:var(--danger);font-size:14px;display:flex}.chat-error button{color:var(--text);font-weight:600;text-decoration:underline}.chat-composer{padding:var(--space-2) 0 var(--space-3);background:var(--bg);flex-shrink:0}.chat-replying{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);color:var(--muted);padding-left:14px;font-size:13px;display:flex}.chat-replying small{max-width:260px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.chat-compose-row{align-items:flex-end;gap:var(--space-2);background:var(--card-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:24px;padding:4px 4px 4px 16px;display:flex}.chat-compose-row:focus-within{box-shadow:inset 0 0 0 1.5px var(--accent)}.chat-compose-row textarea{resize:none;clip-path:none;background:0 0;flex:1 1 0;min-width:0;min-height:40px;max-height:144px;padding:9px 0;box-shadow:none!important}.chat-send{min-height:40px;color:var(--accent);font:600 16px/1 var(--font-display);transition:transform .18s var(--spring);border-radius:20px;flex:none;padding:0 14px}.chat-send:disabled{opacity:.35}.chat-send:active:not(:disabled){transform:scale(.94)}.chat-hint{color:var(--muted);text-align:right;margin-top:4px;font-size:12px}@keyframes message-arrive{0%{opacity:.3;translate:0 6px}}.group-activity-item{align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--line);text-align:left;width:100%;transition:transform .18s var(--spring);padding:14px 0;display:flex}.group-activity-item:active{transform:scale(.985)}.group-activity-item:hover strong{color:var(--accent)}.group-activity-item .avatar{width:34px;height:34px;font-size:12px}.group-activity-item>span:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.group-activity-item strong{font-weight:600}.group-activity-item p{font-size:15px;line-height:1.45}.group-activity-item small{color:var(--muted);font-size:13px}.group-activity-item time{color:var(--muted);flex:none;font-size:13px}.group-person{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);padding:14px 0;display:flex}.member-initial{width:44px;height:44px;font-size:15px}.group-person>div{flex:1;min-width:0}.group-person strong{font-weight:600}.group-person p{color:var(--muted);font-size:14px}.member-meta{color:var(--muted);font-size:13px}@media (width>=900px){.group-home{padding-bottom:0}}.group-home-content{padding-top:var(--space-2)}.invite-more{margin-top:var(--space-5)}.map-fab{z-index:3;background:var(--card-2);width:46px;height:46px;color:var(--accent);box-shadow:var(--shadow-float), inset 0 0 0 1px var(--line-strong);transition:transform .2s var(--spring);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:74px;right:0}.map-fab:hover{color:var(--text)}.map-fab:active{transform:scale(.9)}.map-panel{z-index:8;padding:var(--space-2) max(var(--gutter), env(safe-area-inset-right)) 112px max(var(--gutter), env(safe-area-inset-left));background:var(--bg);animation:map-in .3s var(--ease-out);position:absolute;inset:0;overflow-y:auto}@keyframes map-in{0%{opacity:0;transform:translateY(18px)}}.group-map{flex-direction:column;gap:20px;display:flex}.map-share{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:4px 0 20px;display:flex}.map-share h2{font:600 22px/1.15 var(--font-display);letter-spacing:-.01em}.map-share.is-on h2:before{content:"";background:var(--ok);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--ok) 18%, transparent);border-radius:50%;margin:0 10px 3px 0;display:inline-block}.map-share p{max-width:46ch;color:var(--muted);margin-top:6px;font-size:14px;line-height:1.7}.map-share .btn:active,.map-person:active{transform:scale(.97)}.map-share .btn{transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.map-error{color:var(--danger);font-size:14px;line-height:1.6}.map-loading{padding:24px 0}.group-map-frame{isolation:isolate;border:1px solid var(--line);background:#0e0f11;border-radius:6px;flex:none;height:clamp(300px,52vh,560px);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff08,0 8px 16px -12px #0009,0 28px 56px -32px #000000e6}.group-map-canvas{position:absolute;inset:0}.group-map .leaflet-container{font:inherit;background:#0e0f11}.group-map .leaflet-tile-pane{filter:saturate(0)contrast(1.08)}.map-empty{z-index:1000;pointer-events:none;justify-content:center;display:flex;position:absolute;inset:auto 0 18px}.map-empty p{border:1px solid var(--line);background:color-mix(in srgb, var(--card) 90%, transparent);color:var(--muted);border-radius:999px;padding:8px 14px;font-size:14px}.group-map .leaflet-bar{border:1px solid var(--line-strong);border-radius:5px;overflow:hidden;box-shadow:0 10px 24px -12px #000000e6}.group-map .leaflet-bar a{border-bottom-color:var(--line);background:var(--card);width:36px;height:36px;color:var(--text);line-height:34px;transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.group-map .leaflet-bar a:hover{background:var(--accent-soft);color:var(--text)}.group-map .leaflet-bar a:active{transform:scale(.92)}.group-map .leaflet-bar a:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.group-map .leaflet-bar a.leaflet-disabled{background:var(--card);color:var(--muted)}.group-map .leaflet-container .leaflet-control-attribution{background:color-mix(in srgb, var(--bg) 82%, transparent);color:var(--muted);padding:2px 8px;font-size:10px}.group-map .leaflet-container .leaflet-control-attribution a{color:var(--text)}.map-accuracy{fill:var(--accent);fill-opacity:.07;stroke:var(--accent);stroke-opacity:.25;stroke-width:1px}.map-pin-icon{background:0 0;border:0}.map-pin-icon:focus-visible{outline:none}.map-pin{flex-direction:column;align-items:center;width:48px;transition:transform .22s cubic-bezier(.34,1.56,.64,1),opacity .3s;display:flex;position:relative}.map-pin-face{border:2px solid var(--accent);background:var(--card);width:40px;height:40px;color:var(--text);box-shadow:0 0 0 3px var(--bg), 0 10px 22px -8px #000000e6, 0 0 26px -6px color-mix(in srgb, var(--accent) 55%, transparent);border-radius:50%;place-items:center;font-size:14px;font-weight:600;display:grid;overflow:hidden}.map-pin-face img{object-fit:cover;width:100%;height:100%;display:block}.map-pin-name{background:color-mix(in srgb, var(--bg) 86%, transparent);color:var(--text);white-space:nowrap;border-radius:999px;margin-top:7px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.45}.map-pin.is-me .map-pin-name{background:var(--accent);color:var(--bg)}.map-pin.is-live:before{content:"";border:2px solid var(--accent);opacity:0;border-radius:50%;width:40px;height:40px;animation:2.4s cubic-bezier(.2,.8,.2,1) infinite map-pin-pulse;position:absolute;top:0}.map-pin.is-stale{opacity:.6}.map-pin.is-stale .map-pin-face{filter:grayscale();border-color:var(--line-strong);box-shadow:0 0 0 3px var(--bg), 0 10px 22px -8px #000000e6}.map-pin-icon:hover .map-pin{transform:translateY(-3px)scale(1.06)}.map-pin-icon:active .map-pin{transform:scale(.94)}.map-pin-icon:focus-visible .map-pin-face{outline:2px solid var(--accent);outline-offset:4px}@keyframes map-pin-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.map-people{margin:0;padding:0;list-style:none}.map-person{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);font:inherit;text-align:left;background:0 0;align-items:center;gap:14px;padding:14px 0;transition:transform .18s cubic-bezier(.34,1.56,.64,1);display:flex}.map-person-text{gap:5px;display:grid}.map-person small{color:var(--muted);font-size:14px}.map-person.is-off strong{color:var(--muted);font-weight:500}.map-person-go{color:var(--muted);margin-left:auto;font-size:18px;transition:transform .22s cubic-bezier(.34,1.56,.64,1)}button.map-person:hover .map-person-go{color:var(--text);transform:scale(1.2)}button.map-person:focus-visible{outline-offset:2px}:root[data-theme=system] .group-map-frame{border-color:var(--line-strong);border-radius:2px;box-shadow:inset 0 0 0 1px #4fd1ff0d,0 0 32px -8px #4fd1ff1f,0 28px 56px -32px #000000e6}:root[data-theme=system] .group-map .leaflet-container{background:#050b16}:root[data-theme=system] .group-map .leaflet-tile-pane{filter:sepia(.6)hue-rotate(165deg)saturate(1.6)brightness(.8)contrast(1.1)}:root[data-theme=system] .group-map .leaflet-bar{border-radius:2px}:root[data-theme=system] .map-pin-name,:root[data-theme=system] .map-person small{font-family:var(--font-body)}@media (width<=560px){.map-share{flex-direction:column;align-items:stretch;gap:16px}.map-share .btn{width:100%}.group-map-frame{height:clamp(260px,42vh,400px)}}@media (prefers-reduced-motion:reduce){.map-pin.is-live:before{opacity:.3;animation:none;transform:scale(1.35)}.map-pin,.map-person,.map-person-go,.map-share .btn{transition:none}}.map-panel{padding:0;overflow:hidden}.map-panel .detail-back{z-index:1001;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text);box-shadow:var(--shadow-float);border-radius:999px;margin:0;padding:0 14px 0 8px;position:absolute;top:12px;left:12px}.map-panel .group-map{display:block;position:absolute;inset:0}.map-panel .group-map-frame{height:auto;box-shadow:none;border:0;border-radius:0;position:absolute;inset:0}.map-panel .map-loading{padding:72px var(--gutter)}.map-sheet{--cut:16px;z-index:1000;max-height:46%;padding:var(--space-4) var(--space-4) var(--space-2);background:color-mix(in srgb, var(--card) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-float);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));position:absolute;bottom:12px;left:12px;right:12px;overflow-y:auto}.map-sheet .map-share{align-items:stretch;gap:var(--space-3);padding:0 0 var(--space-3);flex-direction:column}.map-sheet .map-share .btn{width:100%}.map-panel .map-empty{top:70px;bottom:auto}@media (width>=900px){.map-sheet{width:380px;max-height:calc(100% - 24px);left:auto}}.map-sheet .map-share h2{font-size:17px}.map-sheet .map-share p{margin-top:4px;font-size:13px;line-height:1.45}.map-sheet .map-person{padding:10px 0}.map-sheet .map-person .avatar{width:34px;height:34px;font-size:12px}.map-sheet .map-person small{font-size:13px}.map-sheet{max-height:40%}.page-heading .btn.compact{flex:none}.idea-form{margin-bottom:var(--space-4)}.idea-form .btn{margin-top:var(--space-1)}.pool-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.pool-tile{background:var(--card);height:74px;box-shadow:inset 0 0 0 1px var(--card-2);color:var(--muted);font:600 14px/1 var(--font-mono);border-radius:12px;place-items:center;display:grid}.pool-tile path{fill:none;stroke:#48484a;stroke-width:1.5px}.pool-tile.mine path{stroke:var(--accent)}.pool-counts{color:#c7c7cc;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:13px;display:flex}.pool-counts>span{align-items:center;gap:6px;display:flex}.pool-mine{margin-top:var(--space-6);gap:6px;display:grid}.pool-mine-head{justify-content:space-between;align-items:baseline;padding-bottom:2px;display:flex}.pool-mine-head span{color:var(--muted);font-size:12px}.pool-row{justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--card);border-radius:14px;min-height:46px;padding:0 14px;display:flex}.pool-title{font:400 15px/1.3 var(--font-body)}.pool-add{border:1px dashed var(--line-strong);min-height:46px;color:var(--accent);font:600 15px/1 var(--font-body);text-align:center;transition:transform .18s var(--spring);border-radius:14px;justify-content:center;align-items:center;gap:8px;display:flex}.pool-add:active{transform:scale(.98)}.pool-screen .idea-form{margin-top:var(--space-3)}.draw-lobby{gap:var(--space-2);margin:var(--space-6) 0 var(--space-4);display:grid}.draw-lobby h2{font:600 22px/1.2 var(--font-display)}.lobby-members{color:var(--text);font-weight:600}.draw-action{gap:var(--space-2);margin-top:var(--space-6);display:grid}.draw-action p{color:var(--muted);font:500 12px/1.4 var(--font-mono);letter-spacing:.04em;text-align:center;text-transform:uppercase}.pool-screen .group-details{margin-top:var(--space-6)}.activity-row h3{font:600 15px/1.3 var(--font-body)}.progress-screen .page-heading{align-items:center}.progress-windows{gap:var(--space-6);display:grid}.hunter{gap:var(--space-3);display:grid}.hunter-level{display:grid}.hunter-level small{color:var(--muted);font-size:14px}.hunter-level strong{font:500 72px/.95 var(--font-display);letter-spacing:-.03em;color:var(--rank-A)}.hunter-level span{color:var(--muted);font-size:15px}.hunter .quest-meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:0;font-size:14px;display:flex}.system-voice{color:var(--muted)}.stat-row{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stat-row div{align-content:start;gap:4px;display:grid}.stat-row strong{font:500 24px/1 var(--font-display);font-variant-numeric:tabular-nums}.stat-row span{color:var(--muted);font-size:13px;line-height:1.35}.stat-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.stat-cell{padding:var(--space-4);background:var(--card);border-radius:14px;flex:140px;align-content:start;gap:4px;display:grid}.progress-cards{gap:10px;display:grid}.progress-card{padding:var(--space-4);background:var(--card);border-radius:18px}.progress-card-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:14px;display:flex}.progress-card-head h2{min-width:0;font:600 17px/1.25 var(--font-display)}.progress-card-head span{color:var(--muted);flex:none;font-size:13px}.progress-level{align-items:center;gap:var(--space-4);display:flex}.progress-level-number{gap:2px;display:grid}.progress-level-number span{color:var(--muted);font-size:13px}.progress-level-number strong{font:600 44px/1 var(--font-mono)}.progress-level-bar{flex:1;gap:8px;display:grid}.progress-level-bar>div{justify-content:space-between;gap:var(--space-2);color:var(--muted);font-size:13px;display:flex}.progress-level-bar>div span:first-child{color:#c7c7cc}.progress-track{background:var(--card-2);border-radius:2px;height:4px;display:block}.progress-track span{background:var(--accent);border-radius:2px;height:100%;display:block}.progress-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.progress-stats .progress-card{border-radius:14px;align-content:start;gap:4px;padding:14px 12px;display:grid}.progress-stats strong{font:600 26px/1 var(--font-mono)}.progress-stats span{color:var(--muted);font-size:12px;line-height:1.3}.progress-card .metric-choice{background:var(--bg);margin-bottom:14px}.progress-card .calendar,.progress-card .week-bars{background:0 0;padding:0}.stat-cell strong{font:500 28px/1 var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-label{color:var(--muted);font-size:14px}.stat-cell small{color:var(--muted);font-size:13px}.stat-cell small.danger{color:var(--danger)}.first-progress{justify-items:start;gap:var(--space-2);padding:var(--space-6) 0;display:grid}.first-progress h2{font:600 22px/1.2 var(--font-display)}.first-progress p{color:var(--muted)}.first-progress .btn{margin-top:var(--space-3)}.analysis{gap:var(--space-3);display:grid}.analysis .section-head{margin:0}.streak-stats{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.streak-stats div{gap:2px;display:grid}.streak-stats strong{font:500 30px/1 var(--font-display);font-variant-numeric:tabular-nums}.streak-stats span{color:var(--muted);font-size:13px}.calendar{padding:var(--space-3) var(--space-3) var(--space-4);background:var(--card);border-radius:18px}.calendar-head{margin-bottom:var(--space-2);font:600 16px/1 var(--font-display);justify-content:space-between;align-items:center;display:flex}.calendar-head>span{justify-items:center;gap:4px;display:grid}.calendar-head small{color:var(--muted);font:400 13px/1 var(--font-body)}.calendar-head .icon-button:disabled{opacity:.3}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.calendar-weekday{color:var(--muted);text-align:center;padding-bottom:4px;font-size:12px}.calendar-day{aspect-ratio:1;color:var(--muted);font:500 14px/1 var(--font-display);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid}.calendar-day.level-1,.calendar-day.level-2{background:var(--accent);color:var(--accent-ink);font-weight:600}.calendar-day.level-3{background:var(--accent);color:var(--accent-ink);font-weight:700}.calendar-day{transition:transform .18s var(--spring)}.calendar-day:not(:disabled):hover{color:var(--text)}.calendar-day:not(:disabled):active{transform:scale(.9)}.calendar-day:disabled{opacity:.35}.calendar-day.today{box-shadow:inset 0 0 0 1.5px var(--text)}.calendar-day.selected{box-shadow:0 0 0 2px var(--card), 0 0 0 4px var(--text)}.calendar-legend{gap:var(--space-2) var(--space-4);margin-top:var(--space-3);color:var(--muted);flex-wrap:wrap;font-size:12px;display:flex}.calendar-legend span{align-items:center;gap:6px;display:flex}.calendar-legend i{border-radius:50%;width:12px;height:12px}.calendar-legend .level-1{background:color-mix(in srgb, var(--accent) 22%, transparent)}.calendar-legend .level-2{background:color-mix(in srgb, var(--accent) 48%, transparent)}.calendar-legend .level-3{background:var(--accent)}.calendar-detail{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);font-size:14px;line-height:1.5}.calendar-detail ul{gap:6px;margin-top:6px;list-style:none;display:grid}.calendar-detail li{color:var(--muted);display:grid}.calendar-detail li b{color:var(--text);font-weight:600}.calendar-detail>span{color:var(--muted);display:block}.analysis-help{color:var(--muted);font-size:13px;line-height:1.5}.empty-analysis{justify-items:start;gap:var(--space-2);display:grid}.empty-analysis h2{font:600 18px/1.25 var(--font-display)}.empty-analysis p{color:var(--muted);font-size:14px}.metric-choice button{min-height:34px;font-size:14px}.analysis-summary{color:var(--muted);font-size:14px}.analysis-summary strong{color:var(--text);font:600 22px/1 var(--font-display);margin-right:4px}.week-bars{padding:var(--space-4) var(--space-3) var(--space-3);background:var(--card);border-radius:18px;position:relative}.week-bars-max{color:var(--muted);font:500 12px/1 var(--font-display);font-variant-numeric:tabular-nums;margin-bottom:4px;display:block}.week-bars-plot{grid-template-columns:repeat(var(--cols), 1fr);border-top:1px dashed var(--line);border-bottom:1px solid var(--line);align-items:end;gap:6px;height:110px;display:grid;position:relative}.week-bars-target{left:0;right:0;bottom:calc(var(--t) * 100%);border-top:1.5px dashed var(--warn);pointer-events:none;z-index:1;position:absolute}.week-bar{align-items:flex-end;height:100%;display:flex}.week-bar i{background:var(--line-strong);transform-origin:bottom;width:100%;height:100%;transform:scaleY(max(var(--h), .02));transition:transform .5s var(--ease-out);border-radius:4px 4px 0 0}.week-bar.current i{background:var(--accent)}button.week-bar{transition:transform .18s var(--spring)}button.week-bar:hover i{background:#48484a}button.week-bar:active{transform:scale(.94)}button.week-bar.selected i{background:var(--text)}.week-bars-axis{color:var(--muted);justify-content:space-between;margin-top:6px;font-size:12px;display:flex}.graph-card{gap:var(--space-3);display:grid}.graph-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.graph-head h3{font:600 16px/1.3 var(--font-body)}.graph-head p{color:var(--muted);font-size:13px}.graph-head strong{font:500 24px/1 var(--font-display);font-variant-numeric:tabular-nums;flex:none}.line-graph-plot{position:relative}.line-graph svg{width:100%;height:120px;display:block;overflow:visible}.line-graph-dots i{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 2px var(--card);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.line-graph-area{fill:color-mix(in srgb, var(--accent) 16%, transparent)}.line-graph-line{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.line-graph-target{stroke:var(--warn);stroke-width:1px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.line-graph figcaption{color:var(--muted);justify-content:space-between;margin-top:6px;font-size:12px;display:flex}.line-graph-goal{color:var(--warn)}.leader-row{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);padding:10px 0;display:flex}.leader-row:last-child{border-bottom:0}.leader-place{width:18px;color:var(--muted);font:600 16px/1 var(--font-display)}.leader-row .avatar{width:34px;height:34px;font-size:12px}.leader-name{flex:1;min-width:0;font-weight:600}.leader-stats{color:var(--muted);font-size:13px}.leader-stats b{color:var(--warn);font-weight:600}.section-note{color:var(--muted);font-size:13px}.failure-note{color:var(--muted);font-size:14px;line-height:1.45}.failure-row{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-3) 0;border-top:1px solid var(--line);color:var(--text);text-align:left;transition:opacity .15s;display:flex}.failure-row:first-of-type{margin-top:var(--space-3)}.failure-row:hover strong{color:var(--accent)}.failure-row:active{opacity:.6}.failure-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.failure-row strong{font-size:15px;font-weight:600;display:block}.failure-row small{color:var(--muted);font-size:13px}.failure-status{color:var(--muted);text-align:right;flex:none;font-size:13px}.failure-status.cleared{color:var(--ok)}.new-quest-screen .page-heading{margin-bottom:var(--space-2)}.draft-status{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--muted);font-size:13px;display:flex}.draft-status .quiet-button{min-height:36px;font-size:14px}.confirmation{gap:var(--space-2);margin:var(--space-3) 0;display:grid}.confirmation h2{font:600 20px/1.2 var(--font-display)}.confirmation p{color:var(--muted);font-size:15px}.quest-starters{gap:var(--space-2);margin:var(--space-4) 0 var(--space-6);flex-wrap:wrap;display:flex}.quest-starters button{--cut:7px;background:var(--card);min-height:38px;color:var(--text);font:500 14px/1 var(--font-body);clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px));transition:transform .18s var(--spring);padding:0 14px}.quest-starters button:hover{color:var(--accent)}.quest-starters button:active{transform:scale(.95)}.new-quest-screen .field>.quiet-caption{margin-top:-2px}.member-picker{gap:var(--space-1);margin-bottom:var(--space-5);border:0;padding:0;display:grid}.member-picker legend{margin-bottom:var(--space-2);color:var(--muted);font-size:14px;font-weight:500}.member-picker label{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);cursor:pointer;min-height:48px;display:flex}input[type=checkbox]{appearance:none;border:1.5px solid var(--faint);cursor:pointer;width:20px;height:20px;transition:scale .3s var(--spring);border-radius:3px;flex:none;place-items:center;margin:0;display:grid}input[type=checkbox]:checked{background:var(--done);border-color:var(--done)}input[type=checkbox]:checked:after{content:"";background:var(--done-ink);width:13px;height:13px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E") 50%/contain no-repeat}input[type=checkbox]:active{scale:.8}.new-quest-screen form>.btn{margin-top:var(--space-6)}.new-quest-screen .disclosure+.disclosure{border-top:0}.quest-grade{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--muted);font-size:13px;line-height:1.35;display:flex}.quest-grade strong{color:var(--text);font-size:15px;font-weight:600;display:block}.identity-settings,.profile-preferences{gap:var(--space-3);margin-bottom:var(--space-8);display:grid}.identity-settings h2,.profile-preferences h2{font:600 20px/1.2 var(--font-display)}.identity-settings .field{margin-bottom:0}.identity-settings .btn.compact{justify-self:start}.preference-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--line);display:flex}.preference-row strong{font-weight:600}.preference-row p{color:var(--muted);margin-top:2px;font-size:14px;line-height:1.45}.profile-settings-link{border-bottom:1px solid var(--line);width:100%;min-height:56px;font:600 17px/1.2 var(--font-display);text-align:left;justify-content:space-between;align-items:center;transition:opacity .15s;display:flex}.profile-settings-link:hover{color:var(--accent)}.profile-settings-link:active{opacity:.6}.profile-signout,.danger-text{color:var(--danger)}.save-notice,.inline-success{color:var(--ok);font-size:14px}.account-actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.photo-editor{align-items:center;gap:var(--space-4);display:flex}.photo-trigger{transition:transform .18s var(--spring);border-radius:50%;flex:none;position:relative}.photo-trigger:active{transform:scale(.94)}.photo-trigger .avatar{width:76px;height:76px;font:600 24px/1 var(--font-display)}.photo-edit-mark{background:var(--accent);width:26px;height:26px;color:var(--accent-ink);box-shadow:0 0 0 3px var(--bg);border-radius:50%;place-items:center;font-weight:700;display:grid;position:absolute;bottom:-2px;right:-2px}.photo-editor-copy{gap:2px;display:grid}.photo-editor-copy strong{font-weight:600}.photo-actions{gap:0 var(--space-4);flex-wrap:wrap;display:flex}.photo-error{color:var(--danger);font-size:14px}.photo-dialog{--cut:18px;width:min(460px, calc(100% - 2 * var(--gutter)));padding:var(--space-5);background:var(--card);color:var(--text);box-shadow:var(--shadow-float);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));animation:overlay-in .36s var(--spring);border:0;margin:auto}.photo-dialog::backdrop{background:#000000b3}.photo-dialog-heading{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.photo-dialog-heading h2{font:600 20px/1.2 var(--font-display)}.crop-preview{width:100%;max-width:280px;margin:0 auto var(--space-4);aspect-ratio:1;display:block}.crop-preview.round{border-radius:50%}.crop-position{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.crop-control{margin-bottom:var(--space-3);color:var(--muted);gap:6px;font-size:14px;display:grid}input[type=range]{width:100%;accent-color:var(--accent)}.theme-cards{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.theme-choice{--cut:10px;gap:var(--space-2);padding:var(--space-3);background:var(--card-2);text-align:left;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));transition:transform .18s var(--spring);display:grid}.theme-choice:active{transform:scale(.97)}.theme-choice.selected{box-shadow:inset 0 0 0 2px var(--accent)}.theme-preview{align-content:start;gap:6px;height:84px;padding:12px;display:grid}.theme-preview.clean{background:#0b0b0c}.theme-preview.system{background:radial-gradient(120% 80% at 90% -20%,#1c4a80 0%,#0000 60%),#070a10}.preview-heading{background:#f3f3f3;width:55%;height:10px}.preview-line{background:#5d5d64;width:80%;height:6px}.preview-progress{background:linear-gradient(90deg,#f3f3f3 0 40%,#202023 40%);height:6px;margin-top:8px}.theme-preview.system .preview-heading{background:#e8eef6}.theme-preview.system .preview-line{background:#4b596e}.theme-preview.system .preview-progress{background:linear-gradient(90deg,#66c7ff 0 40%,#162030 40%)}.theme-choice-label{font:600 16px/1.2 var(--font-display);justify-content:space-between;align-items:center;display:flex}.theme-choice-label .icon{color:var(--accent)}.theme-description{color:var(--muted);font-size:13px;line-height:1.4}.settings-screen .panel{margin-bottom:var(--space-5)}.settings-screen .seg{margin-top:var(--space-3)}.invite-steps{gap:var(--space-2);margin:var(--space-3) 0 var(--space-5);color:var(--muted);padding-left:20px;line-height:1.5;display:grid}.invite-steps li::marker{color:var(--accent);font-family:var(--font-display);font-weight:600}.invite-card{gap:var(--space-3);display:grid}.invite-link-row{align-items:center;gap:var(--space-2);display:flex}.invite-link-row input{background:var(--bg);color:#c7c7cc;min-width:0;font:400 14px/1 var(--font-mono);text-overflow:ellipsis;flex:1}.invite-section{margin-bottom:var(--space-6)}.invite-footnote{margin-top:var(--space-6);color:var(--muted);font-size:13px;line-height:1.5}.manage-member{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line);display:flex}.manage-member:last-child{border-bottom:0}.manage-member .avatar{width:40px;height:40px}.member-description{flex:1;min-width:0}.member-description strong{font-weight:600}.member-menu{gap:var(--space-2);display:flex}.feedback-report{padding:var(--space-3) 0;border-bottom:1px solid var(--line);font-size:15px}.safety-settings .preference-row{align-items:center}.danger-link,.danger-link:hover:not(:disabled){color:var(--danger)}.proof-report{min-height:36px;font-size:13px}.invite-continue{width:100%;margin-top:var(--space-4);justify-content:center;display:flex}.founder-badge{padding:var(--space-1) var(--space-2);border:1px solid var(--accent);color:var(--accent);font:600 11px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:6px;justify-self:start}.settings-list{margin-bottom:var(--space-8);border-bottom:1px solid var(--line);display:grid}.settings-list>.preference-row{border-top:1px solid var(--line);border-bottom:0}.settings-label{padding-bottom:var(--space-2);color:var(--muted);font:600 12px/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.settings-row{justify-content:space-between;align-items:center;gap:var(--space-3);border-top:1px solid var(--line);width:100%;min-height:50px;color:var(--text);font:400 16px/1.2 var(--font-body);text-align:left;cursor:pointer;border-bottom:0;text-decoration:none;transition:opacity .15s;display:flex}.settings-row:hover{color:var(--accent)}.settings-row:active{opacity:.6}.settings-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}summary.settings-row{list-style:none}summary.settings-row::-webkit-details-marker{display:none}.settings-value{color:var(--muted);font-size:15px}.settings-danger{color:var(--accent);font-weight:600}.settings-note{padding:var(--space-3) 0;color:var(--muted);font-size:13px;line-height:1.5}.settings-foot{margin-top:var(--space-8);color:var(--muted);text-align:center;font-size:13px}.overlay{--window:var(--accent);width:min(440px, calc(100% - 2 * var(--gutter)));max-width:none;height:fit-content;max-height:calc(100dvh - 48px);padding:var(--space-6);color:var(--text);background:var(--card);box-shadow:var(--shadow-float);animation:overlay-in .42s var(--spring);border:0;border-radius:24px;margin:auto;position:fixed;inset:0;overflow-y:auto}.overlay::backdrop{background:#000000b3;animation:.25s ease-out fade-in}.overlay.clear{--window:var(--ok)}.overlay.fail{--window:var(--danger)}.overlay .sigil{color:var(--window);font:600 13px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.overlay .headline{margin-top:var(--space-4);font:600 40px/1.02 var(--font-display);letter-spacing:-.035em}.overlay .quest-ref{margin-top:var(--space-4);font:600 20px/1.25 var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere}.overlay .line{margin-top:var(--space-3);color:var(--muted);font-size:15px;line-height:1.5}.overlay .xp{margin-top:var(--space-4);color:var(--warn);font:600 22px/1 var(--font-mono)}.overlay .muted-note{margin-top:var(--space-3)}.overlay .actions{gap:var(--space-3);margin-top:var(--space-6);display:flex}.overlay .actions .btn{flex:1}.overlay .field{margin-top:var(--space-4)}@keyframes overlay-in{0%{opacity:0;transform:translateY(16px)scale(.97)}}.overlay.sudden{--window:var(--accent-ink);background:var(--accent);color:var(--accent-ink)}.overlay.sudden .line,.overlay.sudden .muted-note{color:#0b0b0cbf}.overlay.sudden .btn{background:var(--accent-ink);color:#fff}.overlay.sudden .btn.ghost{color:var(--accent-ink);background:0 0;box-shadow:inset 0 0 0 1px #0b0b0c59}.overlay.pool-draw{width:100%;max-width:none;height:100%;max-height:none;padding:max(28px, env(safe-area-inset-top)) var(--gutter) max(24px, env(safe-area-inset-bottom));background:var(--bg);box-shadow:none;border-radius:0;margin:0;animation:.25s both draw-overlay-in;inset:0}.overlay.pool-draw[open]{flex-direction:column;display:flex}.overlay.pool-draw::backdrop{background:0 0}.pool-draw .draw-stage{flex-direction:column;flex:1;justify-content:center;gap:16px;width:100%;max-width:520px;margin:0 auto;display:flex}.pool-draw .draw-selecting,.pool-draw .draw-result{gap:16px;display:grid}.pool-draw .sigil{color:var(--muted);letter-spacing:.24em}.pool-draw .headline{text-wrap:balance;animation:draw-headline-in .5s var(--ease-out) both;margin:0;font-size:44px;line-height:1.04}.pool-draw .headline.selecting{animation:none}.pool-draw .draw-shuffle{color:#c7c7cc;min-height:70px;font:500 28px/1.25 var(--font-mono);overflow-wrap:anywhere}.pool-draw .draw-pick{color:var(--muted);align-items:center;gap:8px;font-size:15px;display:flex}.pool-draw .draw-pick span{border-radius:4px;width:8px;height:8px}.pool-draw .draw-issued{color:var(--accent);font:600 15px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.pool-draw .draw-meta{color:#c7c7cc;font-size:15px}.pool-draw .line{margin:0;font-size:17px;line-height:1.4}.pool-draw .actions{flex-direction:column;gap:8px;width:100%;max-width:520px;margin:0 auto}.pool-draw .draw-refusal{color:var(--muted);font:600 12px/1 var(--font-mono);letter-spacing:.08em;text-align:center;text-transform:uppercase;padding:8px 0}@keyframes draw-overlay-in{0%{opacity:0}}@keyframes draw-headline-in{0%{opacity:0;transform:translateY(10px)}}.report-title{font:600 24px/1.15 var(--font-display);letter-spacing:-.02em}.report-reasons{margin-top:var(--space-4);gap:6px;display:grid}.report-reasons button{background:var(--bg);text-align:left;min-height:46px;transition:transform .18s var(--spring);border-radius:14px;padding:0 14px;font-size:15px}.report-reasons button:active{transform:scale(.98)}.report-reasons button[aria-checked=true]{box-shadow:inset 0 0 0 2px var(--accent);font-weight:600}.report-block{margin-top:var(--space-4);color:var(--muted);align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;display:flex}.report-block input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin-top:1px}.quests-hero .page-heading{margin-bottom:var(--space-3)}.quest-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-4) 0 var(--space-2);flex-wrap:wrap;display:flex}.quest-toolbar .btn{width:auto;min-height:40px;font-size:15px}.quest-top{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.tracker-controls{justify-content:flex-end;display:flex}.tracker-controls .stepper button{min-width:52px;padding:0 var(--space-3)}.tracker-label{color:var(--muted);font-size:14px}.attempt-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line);font-size:15px;display:flex}.notes{color:var(--muted);line-height:1.55}.landing{min-height:100dvh;padding:max(var(--space-6), env(safe-area-inset-top)) var(--gutter) max(var(--space-6), env(safe-area-inset-bottom));flex-direction:column;justify-content:space-between;display:flex}.landing-content{gap:var(--space-4);display:grid}.landing-content h1{font:600 48px/1 var(--font-display);letter-spacing:-.03em}.landing-content p{max-width:34ch;color:var(--muted);font-size:17px;line-height:1.5}.landing .btn{justify-self:start;width:auto;min-width:200px}.landing-note{color:var(--muted);font-size:13px}.sd-banner{gap:var(--space-2);margin:var(--space-2) var(--gutter);flex:none;display:grid}.sd-banner-top{justify-content:space-between;align-items:center;display:flex}.sd-clock.danger{animation:1s ease-in-out infinite urgent}@keyframes urgent{50%{opacity:.45}}.sd-challenge{font:600 18px/1.3 var(--font-display)}.sd-actions{gap:var(--space-2);display:flex}.sd-actions .btn{min-height:42px;font-size:15px}
