.app{grid-template-columns:var(--rail-w) minmax(0, 1fr);min-height:100dvh;display:grid}.rail{flex-direction:column;gap:2px;height:100dvh;padding:10px 8px 10px 10px;display:flex;position:sticky;top:0;overflow-y:auto}.main{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;min-width:0;min-height:calc(100dvh - 16px);margin:8px 8px 8px 0;display:flex}.topbar{z-index:20;align-items:center;gap:var(--s-3);height:52px;padding:0 var(--s-4);background:var(--surface);border-bottom:1px solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0;display:flex;position:sticky;top:0}.crumbs{min-width:0;font-size:var(--t-13);color:var(--ink-3);align-items:center;gap:6px;display:flex}.crumbs a:hover{color:var(--ink)}.crumbs .here{color:var(--ink);font-weight:600;font-size:var(--t-14)}.crumbs svg{width:14px;height:14px;color:var(--ink-4);flex:none}.top-spacer{flex:1}.search-trigger{align-items:center;gap:var(--s-2);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--sunken);min-width:260px;height:32px;color:var(--ink-3);font-size:var(--t-13);transition:border-color var(--dur) var(--ease);padding:0 10px;display:flex}.search-trigger:hover{border-color:var(--violet-soft)}.search-trigger svg{width:15px;height:15px}.search-trigger .kbd{margin-left:auto}.content{padding:var(--s-5) var(--s-6) var(--s-10);flex:1;min-width:0}.content.flush{padding:0}.page-title{justify-content:space-between;align-items:flex-end;gap:var(--s-4);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.page-title h1,.page-title h2{font-family:var(--font-display);letter-spacing:-.02em;font-weight:600}.page-title p{color:var(--ink-3);font-size:var(--t-13);margin-top:2px}.toolbar{align-items:center;gap:var(--s-2);padding:8px var(--s-4);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.toolbar .grow{flex:1}.split{grid-template-columns:minmax(0,1fr) 300px;min-height:0;display:grid}.split>.aside{border-left:1px solid var(--line);padding:var(--s-4);background:var(--surface)}.split>.primary{min-width:0}.brand{border-radius:var(--r-md);align-items:center;gap:10px;height:52px;padding:0 6px;display:flex}.brand:hover{background:#14a09814}.brand-mark{flex:none;width:28px;height:auto}.brand-word{flex:none;width:auto;height:22px}.brand-salon{font-size:var(--t-11);color:var(--ink-3);padding:0 8px 8px 44px;line-height:1.2}.topbar-mark{flex:none;display:none}.topbar-mark img{width:22px;height:auto}.rail-group{margin-top:var(--s-3)}.rail-label{font-size:var(--t-11);letter-spacing:.02em;color:var(--ink-3);padding:6px 8px 4px;font-weight:600}.nav-item{align-items:center;gap:var(--s-2);border-radius:var(--r-md);height:30px;font-size:var(--t-13);color:var(--ink-2);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);padding:0 8px;font-weight:500;display:flex}.nav-item svg{width:16px;height:16px;color:var(--ink-3);flex:none}.nav-item:hover{color:var(--ink);background:#14a09812}.nav-item[aria-current=page]{background:var(--select);color:var(--ink);font-weight:600}.nav-item[aria-current=page] svg{color:var(--violet)}.nav-count{font-size:var(--t-11);color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.nav-count.hot{color:var(--attn)}.rail-foot{gap:var(--s-2);padding-top:var(--s-3);flex-direction:column;margin-top:auto;display:flex}.joy-card{gap:var(--s-2);border-radius:var(--r-md);background:var(--joy-wash);color:var(--ink);font-size:var(--t-12);align-items:center;padding:8px;display:flex}.joy-card strong{font-size:var(--t-13);display:block}.joy-card small{color:var(--joy-ink)}.live-dot{background:var(--good);width:7px;height:7px;box-shadow:0 0 0 3px var(--good-wash);border-radius:50%;flex:none}.user-row{align-items:center;gap:var(--s-2);border-radius:var(--r-md);font-size:var(--t-13);padding:6px 8px;display:flex}.user-row small{color:var(--ink-3);font-size:var(--t-11);display:block}.btn{border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);height:30px;color:var(--ink);font-size:var(--t-13);white-space:nowrap;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.btn svg{flex:none;width:15px;height:15px}.btn:hover{background:var(--hover);border-color:var(--violet-soft)}.btn:active{transform:translateY(.5px)}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;pointer-events:none}.btn-primary{background:var(--violet);border-color:var(--violet);color:#fff}.btn-primary:hover{background:var(--violet-deep);border-color:var(--violet-deep)}.btn-quiet{color:var(--ink-2);background:0 0;border-color:#0000}.btn-quiet:hover{background:var(--hover);border-color:#0000}.btn-danger{color:var(--attn)}.btn-sm{height:26px;font-size:var(--t-12);padding:0 9px}.btn-black{border-radius:var(--r-btn);background:var(--action);border-color:var(--action);height:36px;color:var(--ink);gap:10px;padding:0 4px 0 14px;font-weight:600}.btn-black:hover{background:var(--action-deep);border-color:var(--action-deep)}.btn-black .arrow{background:var(--ink);width:28px;height:28px;color:var(--action);transition:transform var(--dur) var(--ease);border-radius:8px;place-items:center;display:grid}.btn-black .arrow svg{width:14px;height:14px}.btn-black:hover .arrow{transform:translate(2px)}.icon-btn{border-radius:var(--r-md);width:28px;height:28px;color:var(--ink-3);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);place-items:center;display:inline-grid;position:relative}.icon-btn svg{width:16px;height:16px}.icon-btn:hover,.icon-btn[aria-expanded=true],.icon-btn[aria-pressed=true]{background:var(--select);color:var(--ink)}.icon-btn .badge-dot{background:var(--attn);width:7px;height:7px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:5px;right:5px}.btn-dash{border-color:var(--line-strong);color:var(--violet-deep);background:0 0}.btn-dash:hover{background:var(--violet-wash);border-color:var(--violet-soft)}.tag{border-radius:var(--r-sm);height:20px;font-size:var(--t-11);background:var(--off-wash);color:var(--off);white-space:nowrap;align-items:center;gap:5px;padding:0 7px;font-weight:600;display:inline-flex}.tag.good{background:var(--good-wash);color:var(--good)}.tag.watch{background:var(--watch-wash);color:var(--watch)}.tag.attn{background:var(--attn-wash);color:var(--attn)}.tag.violet{background:var(--violet-wash);color:var(--violet-deep)}.tag.joy{background:var(--joy-wash);color:var(--joy-ink)}.tag svg{width:11px;height:11px}.state-icon{flex:none;width:14px;height:14px}.avatar{--sz:24px;width:var(--sz);height:var(--sz);font-size:calc(var(--sz) * .4);letter-spacing:0;background:var(--violet-wash);color:var(--violet-deep);user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid}.avatar.sm{--sz:20px}.avatar.md{--sz:28px}.avatar.lg{--sz:36px}.avatar.xl{--sz:56px}.avatar.joy,.avatar.dash{background:0 0;border-radius:0}.avatar.joy img,.avatar.dash img{width:auto;height:100%;display:block}.avatar svg{width:55%;height:55%}.avatar[data-tone="1"]{color:#1f6b4a;background:#e3f4ea}.avatar[data-tone="2"]{color:#9b2c66;background:#fce4f1}.avatar[data-tone="3"]{color:#2b4a78;background:#e4ecf7}.avatar[data-tone="4"]{color:#17695f;background:#d9f2ec}.avatar[data-tone="5"]{color:#4a3db0;background:#e9e6fb}.kbd{border:1px solid var(--line-strong);min-width:18px;height:18px;font-size:var(--t-11);color:var(--ink-3);background:var(--surface);font-weight:600;font-family:var(--font);border-bottom-width:2px;border-radius:5px;place-items:center;padding:0 5px;display:inline-grid}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.strip{grid-template-columns:repeat(var(--n,4), minmax(0, 1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);display:grid}.metric{padding:14px var(--s-4);border-right:1px solid var(--line);flex-direction:column;gap:3px;min-width:0;display:flex}.metric:first-child{padding-left:0}.metric:last-child{border-right:0}.metric-label{font-size:var(--t-12);color:var(--ink-3);align-items:center;gap:5px;font-weight:500;display:flex}.metric-label svg{width:12px;height:12px;color:var(--ink-4)}.metric-value{font-family:var(--font-display);font-size:var(--t-22);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2}.metric-was{font-size:var(--t-12);color:var(--ink-3);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:flex}.metric-was .up{color:var(--good);font-weight:600}.metric-was .down{color:var(--attn);font-weight:600}.metric-was .flat{color:var(--ink-3)}.metric-was svg{width:12px;height:12px}a.metric:hover,button.metric:hover{background:var(--hover)}.list{display:block}.group-head{align-items:center;gap:var(--s-2);width:100%;height:34px;padding:0 var(--s-4);background:var(--sunken);border-bottom:1px solid var(--line);border-top:1px solid var(--line);font-size:var(--t-13);text-align:left;font-weight:600;display:flex}.group:first-child>.group-head{border-top:0}.group-head .chev{width:14px;height:14px;color:var(--ink-3);transition:transform var(--dur) var(--ease)}.group[data-collapsed=true] .chev{transform:rotate(-90deg)}.group[data-collapsed=true] .group-body{display:none}.group-head .count{color:var(--ink-3);font-variant-numeric:tabular-nums;font-weight:500}.group-head .add{margin-left:auto}.row{grid-template-columns:var(--cols,1fr);align-items:center;gap:var(--s-3);min-height:var(--row-h);padding:0 var(--s-4);border-bottom:1px solid var(--line);font-size:var(--t-13);transition:background var(--dur) var(--ease);display:grid;position:relative}a.row:hover,.row.is-link:hover,.row[data-href]:hover{background:var(--hover);cursor:pointer}.row[aria-selected=true],.row.is-selected{background:var(--select)}.row.head{background:var(--sunken);min-height:30px;color:var(--ink-3);font-size:var(--t-12);font-weight:600}.row.head.sticky{z-index:2;position:sticky;top:52px}.row .cell{align-items:center;gap:var(--s-2);min-width:0;display:flex}.row .cell.right{text-align:right;justify-content:flex-end}.row .cell.muted{color:var(--ink-3)}.row .name{color:var(--ink);font-weight:600}.row .sub{color:var(--ink-3);font-size:var(--t-12)}.row[hidden]{display:none}.check{border:1.5px solid var(--line-strong);background:var(--surface);appearance:none;cursor:pointer;width:15px;height:15px;transition:background var(--dur) var(--ease);border-radius:4px;flex:none;place-items:center;margin:0;display:inline-grid}.check:checked{background:var(--violet);border-color:var(--violet)}.check:checked:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:8px;height:4px;transform:translateY(-1px)rotate(-45deg)}.empty{text-align:center;place-items:center;gap:var(--s-2);padding:var(--s-10) var(--s-6);color:var(--ink-3);font-size:var(--t-13);display:grid}.empty strong{color:var(--ink);font-size:var(--t-14)}.tabs{scrollbar-width:none;white-space:nowrap;gap:2px;max-width:100%;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{border-radius:var(--r-md);height:28px;font-size:var(--t-13);color:var(--ink-2);transition:background var(--dur) var(--ease);flex:none;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.tab:hover{background:var(--hover)}.tab[aria-selected=true],.tab[aria-current=page]{background:var(--select);color:var(--ink);font-weight:600}.tab .count{font-size:var(--t-11);color:var(--ink-3);font-variant-numeric:tabular-nums;font-weight:600}.tab .count.hot{color:var(--attn)}.seg{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--sunken);gap:2px;padding:2px;display:inline-flex}.seg button{height:24px;font-size:var(--t-12);color:var(--ink-3);border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-weight:600;display:inline-flex}.seg button svg{width:13px;height:13px}.seg button[aria-pressed=true],.seg button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line)}.chip{border:1px dashed var(--line-strong);border-radius:var(--r-md);height:26px;font-size:var(--t-12);color:var(--ink-2);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);align-items:center;gap:5px;padding:0 9px;font-weight:600;display:inline-flex}.chip svg{width:13px;height:13px}.chip:hover{background:var(--hover);border-color:var(--violet-soft)}.chip[aria-pressed=true],.chip.on{border-style:solid;border-color:var(--violet-soft);background:var(--violet-wash);color:var(--violet-deep)}.input,.select,.textarea{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);width:100%;height:32px;font-size:var(--t-13);transition:border-color var(--dur) var(--ease);padding:0 10px}.textarea{resize:vertical;height:auto;min-height:84px;padding:8px 10px;line-height:1.5}.input:hover,.select:hover,.textarea:hover{border-color:var(--violet-soft)}.input:focus,.select:focus,.textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-wash);outline:0}.input::placeholder,.textarea::placeholder{color:var(--ink-3)}.field{font-size:var(--t-12);color:var(--ink-2);gap:5px;font-weight:600;display:grid}.field .hint{color:var(--ink-3);font-weight:400}.switch{appearance:none;border-radius:var(--r-pill);background:var(--line-strong);cursor:pointer;width:30px;height:18px;transition:background var(--dur) var(--ease);flex:none;margin:0;position:relative}.switch:after{content:"";width:14px;height:14px;transition:transform var(--dur) var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch:checked{background:var(--violet)}.switch:checked:after{transform:translate(12px)}.props-title{font-size:var(--t-12);color:var(--ink-3);margin:var(--s-4) 0 var(--s-1);align-items:center;gap:6px;font-weight:600;display:flex}.props-title:first-child{margin-top:0}.prop{align-items:center;gap:var(--s-2);min-height:30px;font-size:var(--t-13);border-radius:var(--r-md);grid-template-columns:96px minmax(0,1fr);margin:0 -6px;padding:0 6px;display:grid}.prop>dt{color:var(--ink-3)}.prop>dd{align-items:center;gap:6px;min-width:0;font-weight:500;display:flex}.prop.editable:hover{background:var(--hover);cursor:pointer}.menu{z-index:80;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);min-width:220px;max-width:320px;box-shadow:var(--float);opacity:0;transform-origin:0 0;pointer-events:none;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);visibility:hidden;padding:4px;position:fixed;transform:translateY(-4px)scale(.98)}.menu.open{opacity:1;pointer-events:auto;visibility:visible;transform:none}.menu-item{align-items:center;gap:var(--s-2);width:100%;height:30px;font-size:var(--t-13);text-align:left;color:var(--ink);border-radius:7px;padding:0 8px;font-weight:500;display:flex}.menu-item svg{width:15px;height:15px;color:var(--ink-3);flex:none}.menu-item:hover,.menu-item[data-active=true]{background:var(--select)}.menu-item .kbd{margin-left:auto}.menu-head{font-size:var(--t-11);color:var(--ink-3);padding:6px 8px 4px;font-weight:600}.menu-sep{background:var(--line);height:1px;margin:4px -4px}.scrim{z-index:70;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease);background:#14122b47;position:fixed;inset:0}.scrim.open{opacity:1;pointer-events:auto}.palette{z-index:90;opacity:0;pointer-events:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:min(600px,100vw - 24px);box-shadow:var(--float);transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);visibility:hidden;position:fixed;top:14vh;left:50%;overflow:hidden;transform:translate(-50%,-8px)scale(.985)}.palette.open{opacity:1;pointer-events:auto;visibility:visible;transform:translate(-50%)}.palette-input{align-items:center;gap:var(--s-3);padding:0 var(--s-4);border-bottom:1px solid var(--line);height:50px;display:flex}.palette-input svg{width:17px;height:17px;color:var(--ink-3)}.palette-input input{height:100%;font-size:var(--t-16);background:0 0;border:0;outline:0;flex:1}.palette-list{max-height:min(52vh,420px);padding:4px;overflow-y:auto}.palette-foot{gap:var(--s-4);padding:8px var(--s-4);border-top:1px solid var(--line);font-size:var(--t-11);color:var(--ink-3);align-items:center;display:flex}.palette-foot span{align-items:center;gap:5px;display:inline-flex}.drawer{z-index:90;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:min(440px,100vw - 16px);box-shadow:var(--float);transition:transform .2s var(--ease);visibility:hidden;transition:transform .2s var(--ease), visibility 0s linear .2s;flex-direction:column;display:flex;position:fixed;top:8px;bottom:8px;right:8px;transform:translate(calc(100% + 24px))}.drawer.open{visibility:visible;transition-delay:0s;transform:none}.drawer-head{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);display:flex}.drawer-body{padding:var(--s-4);gap:var(--s-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.drawer-foot{padding:var(--s-3) var(--s-4);border-top:1px solid var(--line)}.ask-msg{gap:var(--s-2);display:grid}.ask-msg.you{background:var(--sunken);border:1px solid var(--line);max-width:85%;font-size:var(--t-13);border-radius:14px 14px 4px;justify-self:end;padding:8px 12px}.ask-msg.dash{background:var(--violet-wash);font-size:var(--t-13);border-radius:14px 14px 14px 4px;padding:12px 14px}.ask-msg .cites{font-size:var(--t-11);color:var(--ink-3)}.suggest{flex-wrap:wrap;gap:6px;display:flex}.suggest button{border:1px solid var(--line-strong);border-radius:var(--r-pill);font-size:var(--t-12);color:var(--ink-2);text-align:left;padding:5px 10px;font-weight:500}.suggest button:hover{background:var(--hover);border-color:var(--violet-soft)}.toast{z-index:100;opacity:0;pointer-events:none;align-items:center;gap:var(--s-3);border-radius:var(--r-md);background:var(--black);color:#fff;font-size:var(--t-13);transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);visibility:hidden;padding:9px 10px 9px 14px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%,12px)}.toast.open{opacity:1;pointer-events:auto;visibility:visible;transform:translate(-50%)}.toast button{color:var(--violet-soft);font-weight:600}.tabbar{display:none}.sheet{z-index:90;background:var(--surface);max-height:82dvh;box-shadow:var(--float);padding:var(--s-2) var(--s-4) calc(var(--s-6) + env(safe-area-inset-bottom));transition:transform .2s var(--ease);visibility:hidden;transition:transform .2s var(--ease), visibility 0s linear .2s;border-radius:20px 20px 0 0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}.sheet.open{visibility:visible;transition-delay:0s;transform:none}@media (width>=901px){.sheet{display:none}}.sheet-grip{background:var(--line-strong);width:36px;height:4px;margin:6px auto var(--s-3);border-radius:4px}.sheet-grid{gap:var(--s-2);grid-template-columns:repeat(3,1fr);display:grid}.sheet-grid a{border-radius:var(--r-md);font-size:var(--t-12);color:var(--ink-2);min-height:var(--touch);justify-items:center;gap:6px;padding:12px 4px;font-weight:600;display:grid}.sheet-grid a:active,.sheet-grid a:hover{background:var(--select)}.sheet-grid svg{width:20px;height:20px;color:var(--violet)}.only-m{display:none!important}@media (width>=901px) and (width<=1180px){:root{--rail-w:64px}.rail{align-items:center;padding:10px 8px}.rail .brand-word,.rail .brand-salon,.rail .rail-label,.rail .nav-label,.rail .joy-card span:last-child,.rail .user-row span:last-child{display:none}.brand,.nav-item,.joy-card,.user-row{justify-content:center;width:44px;height:40px;padding:0}.rail-group{padding-top:var(--s-2);border-top:1px solid var(--line);margin-top:var(--s-2);gap:2px;display:grid}.rail-group:first-of-type{border-top:0}.nav-item{position:relative}.nav-count{background:var(--ink-3);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;margin:0;padding:0 4px;font-size:10px;display:grid;position:absolute;top:2px;right:0}.nav-count.hot{background:var(--attn);color:#fff}.joy-card,.user-row{height:44px}}@media (width<=960px){.split{grid-template-columns:minmax(0,1fr)}.split>.aside{border-left:0;border-top:1px solid var(--line)}.search-trigger{min-width:0}.search-trigger span:not(.kbd){display:none}}@media (width<=900px){:root{--row-h:52px}.app{display:block}.rail{display:none}.main{min-height:100dvh;padding-bottom:calc(64px + env(safe-area-inset-bottom));border:0;border-radius:0;margin:0}.topbar{height:52px;padding:0 var(--s-3);border-radius:0}.topbar .hide-m,.hide-m{display:none!important}.only-m{display:initial!important}.topbar-mark.only-m{align-items:center;gap:6px;display:flex!important}.topbar-mark .tm-word{width:69px;height:auto}.topbar .crumbs{display:none}.content{padding:var(--s-4) var(--s-4) var(--s-8)}.toolbar{padding:8px var(--s-3);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.toolbar>*{flex:none}.btn,.chip,.seg button{min-height:44px}.tab,.btn-sm{min-height:40px}.tabs{padding-right:24px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.icon-btn{width:44px;height:44px}.btn-black{height:44px}.switch{width:44px;height:26px}.switch:after{width:22px;height:22px}.switch:checked:after{transform:translate(18px)}.input,.select{height:40px;font-size:var(--t-14)}.textarea{font-size:var(--t-14)}.strip{--n:2!important}.strip .metric{border-bottom:1px solid var(--line);padding-left:var(--s-4)}.strip .metric:nth-child(odd){padding-left:0}.strip .metric:nth-child(2n){border-right:0}.strip .metric:nth-last-child(-n+2){border-bottom:0}.metric-value{font-size:var(--t-18)}.tabbar{z-index:60;border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom));background:#fff;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a,.tabbar button{min-height:var(--touch);color:var(--ink-3);border-radius:var(--r-md);justify-items:center;gap:2px;padding:6px 0;font-size:10.5px;font-weight:600;display:grid;position:relative}.tabbar svg{width:21px;height:21px}.tabbar [aria-current=page]{color:var(--violet)}.tabbar .pip{background:var(--ink-2);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;display:grid;position:absolute;top:3px;left:calc(50% + 6px)}.drawer{border-radius:20px 20px 0 0;width:auto;height:88dvh;inset:auto 0 0;transform:translateY(100%)}.drawer.open{transform:none}.row{padding:8px var(--s-3)}.toast{bottom:calc(76px + env(safe-area-inset-bottom))}}@media print{.rail,.topbar,.tabbar{display:none}}.login-body{background:var(--cream);min-height:100dvh}.login{gap:var(--s-4);min-height:100dvh;padding:var(--s-4);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);display:grid}.login-art{background:var(--ink);color:var(--cream);padding:var(--s-10);isolation:isolate;border-radius:28px;flex-direction:column;justify-content:space-between;min-height:0;display:flex;position:relative;overflow:hidden}.login-video{object-fit:cover;object-position:50% 50%;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.login-art-shade{z-index:-1;background:linear-gradient(#062a2d8c 0%,#062a2d00 38%,#062a2db8 100%);position:absolute;inset:0}.login-art-logo{align-self:flex-start;width:auto;height:32px}.login-label{font-family:var(--mono);font-weight:500;font-size:var(--t-12);letter-spacing:.08em;text-transform:uppercase;color:#ffb48a;margin-bottom:var(--s-3)}.login-headline{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;max-width:14ch;font-size:clamp(2rem,3.4vw,3.25rem);font-weight:700;line-height:1.04}.login-form-wrap{padding:var(--s-6);place-items:center;display:grid}.login-form{gap:var(--s-4);width:100%;max-width:380px;display:grid}.login-mark{width:44px;height:auto;margin:0 auto var(--s-2)}.login-form h1{font-family:var(--font-display);font-weight:700;font-size:var(--t-34);letter-spacing:-.02em;text-align:center;line-height:1.1}.login-sub{text-align:center;color:var(--ink-3);font-size:var(--t-14);margin-top:calc(var(--s-2) * -1);margin-bottom:var(--s-2)}.login-field{font-size:var(--t-13);gap:6px;font-weight:500;display:grid}.login-field .input{border-radius:var(--r-btn);height:48px;font-size:var(--t-14);padding:0 var(--s-4);background:#fff;width:100%}.login-row{font-size:var(--t-13);justify-content:space-between;align-items:center;display:flex}.login-check{color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.login-check input{width:16px;height:16px;accent-color:var(--violet)}.login-link{color:var(--violet-deep);font-weight:600}.login-link:hover{text-underline-offset:3px;text-decoration:underline}.login-submit{width:100%;font-size:var(--t-14);justify-content:space-between;height:52px!important;padding:0 8px 0 var(--s-5)!important}.login-submit .arrow{width:36px!important;height:36px!important}.login-google{border-radius:var(--r-btn);border:1px solid var(--line-strong);width:100%;height:52px;font-weight:600;font-size:var(--t-14);background:#fff;justify-content:center;gap:10px}.login-google:hover{background:var(--hover)}.login-foot{text-align:center;color:var(--ink-2);font-size:var(--t-13)}.login-proto{text-align:center;font-family:var(--mono);font-size:var(--t-11);color:var(--ink-3);margin-top:var(--s-2)}@media (width<=900px){.login{padding:var(--s-3);grid-template-rows:auto 1fr;grid-template-columns:1fr;gap:0}.login-video{object-position:50% 45%}.login-art-shade{background:linear-gradient(#062a2d8c 0%,#062a2d1a 35%,#062a2dd9 100%)}.login-art{min-height:220px;padding:var(--s-5);border-radius:22px}.login-headline{max-width:18ch;font-size:1.6rem}.login-form-wrap{padding:var(--s-6) var(--s-2) var(--s-8);align-items:start}}.loc-trig{border-radius:var(--r-md);width:calc(100% - 8px);font-size:var(--t-12);color:var(--ink-2);text-align:left;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;border:1px solid #0000;align-items:center;gap:6px;margin:0 0 6px 6px;padding:5px 8px;font-weight:500;display:flex}.loc-trig:hover,.loc-trig[aria-expanded=true]{background:var(--surface);border-color:var(--line);color:var(--ink)}.loc-trig svg{color:var(--ink-3);flex:none;margin-left:auto}.loc-cur{min-width:0}.menu-item .loc-sub{font-size:var(--t-11);color:var(--ink-3);font-weight:400;line-height:1.2;display:block}.menu-item{height:auto;min-height:30px;padding-top:5px;padding-bottom:5px}.menu-item .loc-check{opacity:0;color:var(--violet);margin-left:auto}.menu-item[data-active=true] .loc-check{opacity:1}.loc-m{border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);max-width:108px;height:32px;font-size:var(--t-12);color:var(--ink);align-items:center;gap:4px;padding:0 10px;font-weight:600;display:none}.loc-m svg{color:var(--violet);flex:none}@media (width<=900px){.loc-m.only-m{display:inline-flex!important}}.dtip{z-index:120;background:var(--nile);color:#fff;max-width:264px;font-size:var(--t-12);box-shadow:var(--float);pointer-events:none;opacity:0;transition:opacity .11s var(--ease);border-radius:10px;gap:4px;padding:10px 12px;line-height:1.35;display:grid;position:fixed;top:0;left:0}.dtip.on{opacity:1}.dtip strong{font-size:var(--t-13);align-items:center;gap:7px;margin-bottom:2px;font-weight:700;display:flex}.dtip strong i{border-radius:3px;flex:none;width:9px;height:9px}.dtip-r{font-variant-numeric:tabular-nums;justify-content:space-between;gap:18px;display:flex}.dtip-r span{color:#ffffffbd}.dtip-r b{color:#fff;text-align:right;font-weight:700}.dtip-n{color:var(--violet-soft);font-size:var(--t-11);margin-top:2px}.meter[data-tip],.m4[data-tip]{cursor:default;transition:transform var(--dur) var(--ease)}.meter[data-tip]:hover,.meter[data-tip]:focus-visible{transform:scaleY(1.5)}.meter[data-tip]:hover i{filter:brightness(.94)saturate(1.2)}.row:not(.head):not(.is-selected):not([aria-selected=true]),.set-row,.s-row,.crow,.tl-row,.p-row,.ns-row,.n-row,.m-row,.lt-row,.lead-row,.i-row,.fm-row,.e-row,.c-row,.st-row,.rv-row,.need-row,.do-row,.hrow,.h-row,.cx-row,.trow,.today-row,.bar-row,.kv>div,.prop,tbody tr{transition:background var(--dur) var(--ease)}.row:not(.head):not(.is-selected):not([aria-selected=true]):hover,.set-row:hover,.s-row:hover,.crow:hover,.tl-row:hover,.p-row:hover,.ns-row:hover,.n-row:hover,.m-row:hover,.lt-row:hover,.lead-row:hover,.i-row:hover,.fm-row:hover,.e-row:hover,.c-row:hover,.st-row:hover,.rv-row:hover,.need-row:hover,.do-row:hover,.hrow:hover,.h-row:hover,.cx-row:hover,.trow:hover,.today-row:hover,.bar-row:hover,.kv>div:hover,tbody tr:hover{background:var(--hover)}.row[aria-selected=true]:hover,.row.is-selected:hover{background:var(--select)}.hrow:hover,.bar-row:hover,.kv>div:hover{box-shadow:-8px 0 0 var(--hover), 8px 0 0 var(--hover)}.dg{z-index:70;justify-items:end;gap:10px;display:grid;position:fixed;bottom:20px;right:20px}.dg-fab{background:var(--nile);color:#fff;height:48px;font-weight:700;font-size:var(--t-14);box-shadow:var(--float);transition:transform var(--dur) var(--ease), background var(--dur) var(--ease);border-radius:24px;align-items:center;gap:8px;padding:0 18px 0 8px;display:inline-flex}.dg-fab:hover{background:var(--d-deep);transform:translateY(-2px)}.dg-fab .avatar{--sz:32px}.dg-bubble{background:var(--surface);border:1px solid var(--line-strong);width:min(330px,100vw - 32px);box-shadow:var(--float);opacity:0;transform-origin:100% 100%;transition:opacity .18s var(--ease), transform .18s var(--ease);border-radius:16px 16px 4px;padding:14px 16px;position:relative;transform:translateY(8px)scale(.98)}.dg-bubble.on{opacity:1;transform:none}.dg-hi{font-size:var(--t-13);color:var(--ink-2);padding-right:20px;line-height:1.45}.dg-hi strong{color:var(--ink);font-size:var(--t-14);margin-bottom:2px;display:block}.dg-x{width:24px;height:24px;color:var(--ink-3);border-radius:8px;place-items:center;display:grid;position:absolute;top:8px;right:8px}.dg-x:hover{background:var(--select);color:var(--ink)}.dg-chips{gap:6px;margin-top:10px;display:grid}.dg-chips button,.dg-asks button{text-align:left;border:1px solid var(--line-strong);background:var(--surface);font-size:var(--t-13);color:var(--ink);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);border-radius:10px;padding:8px 12px;font-weight:500}.dg-chips button:hover,.dg-asks button:hover{background:var(--violet-wash);border-color:var(--violet-soft)}body:has(#dash.open) .dg,body.dg-touring .dg{display:none}.content{padding-bottom:88px}.dash-tour{padding:0 var(--s-4) var(--s-3)}.dg-tour{z-index:200;position:fixed;inset:0}.dg-shield{position:absolute;inset:0}.dg-tour.modal .dg-shield{background:#062a2d9e}.dg-hl{box-shadow:0 0 0 100vmax #062a2d9e, 0 0 0 3px var(--d-teal);pointer-events:none;opacity:0;transition:top .26s var(--ease), left .26s var(--ease), width .26s var(--ease), height .26s var(--ease), opacity .16s;border-radius:14px;position:fixed}.dg-tour.nomotion .dg-hl{transition:none}.dg-card{z-index:2;background:var(--surface);box-shadow:var(--float), 0 0 0 1px var(--line);transition:left .26s var(--ease), top .26s var(--ease);border-radius:18px;grid-template-columns:minmax(0,1fr);gap:10px;max-width:calc(100vw - 24px);padding:18px 18px 14px;display:grid;position:fixed}.dg-tour.modal .dg-card{transition:none;transform:translate(-50%,-50%);width:min(460px,100vw - 24px)!important;inset:50% auto auto 50%!important}.dg-tour.nomotion .dg-card{transition:none}.dg-head{align-items:center;gap:10px;display:flex}.dg-head>div{flex:1;min-width:0}.dg-by{font-weight:700;font-size:var(--t-13)}.dg-step{font-size:var(--t-12);color:var(--ink-3)}.dg-av .avatar{--sz:34px}.dg-card h2{font-family:var(--font-display);letter-spacing:-.01em;outline:none;font-size:1.1875rem;font-weight:700;line-height:1.2}.dg-card p{font-size:var(--t-14);color:var(--ink-2);line-height:1.5}.dg-moves{gap:6px;margin:2px 0 0;padding:0;list-style:none;display:grid}.dg-moves li{background:var(--violet-wash);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.dg-moves a{font-weight:600;font-size:var(--t-14);color:var(--ink)}.dg-moves a:hover{text-underline-offset:3px;text-decoration:underline}.dg-n{background:var(--d-teal);color:#fff;width:22px;height:22px;font-size:var(--t-12);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.dg-asks{gap:6px;display:grid}.dg-form{gap:8px;margin-top:2px;display:flex}.dg-form .input{flex:1;min-width:0;height:40px}.dg-form .btn-black{height:40px}.dg-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.dg-dots{gap:5px;display:flex}.dg-dots i{background:var(--line-strong);width:6px;height:6px;transition:width var(--dur) var(--ease), background var(--dur) var(--ease);border-radius:3px}.dg-dots i.on{background:var(--d-teal);width:18px}.dg-btns{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto;display:flex}.dg-btns .btn{border-radius:var(--r-btn);height:36px}@media (width<=900px){.dg{right:12px;bottom:calc(72px + env(safe-area-inset-bottom))}.dg-fab>span:not(.avatar){display:none}.dg-fab{width:48px;padding:0 8px}.dg-dots{display:none}.dg-foot{justify-content:flex-end}.dg-card{max-height:70dvh;overflow-y:auto}.content{padding-bottom:120px}}@media (prefers-reduced-motion:reduce){.dg-bubble,.dg-fab{transition:none}}.demo-pick{border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);flex:none;align-items:center;gap:2px;height:34px;padding:0 3px 0 11px;display:inline-flex}.demo-pick-label{font-size:var(--t-12);color:var(--ink-3);margin-right:5px;font-weight:600}.demo-pick-btn{width:28px;height:28px;font-size:var(--t-13);color:var(--ink);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:50%;place-items:center;font-weight:700;display:grid;position:relative}.demo-pick-btn:hover{background:var(--hover)}.demo-pick-btn[aria-pressed=true]{background:var(--ink);color:#fff}.demo-pick-btn:after{content:attr(data-tip);background:var(--ink);color:#fff;font-size:var(--t-12);white-space:nowrap;pointer-events:none;opacity:0;z-index:40;border-radius:8px;padding:5px 9px;font-weight:600;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(-2px)}.demo-pick-btn:hover:after,.demo-pick-btn:focus-visible:after{opacity:1;transform:translate(-50%)translateY(0)}.dm-tour{z-index:300;pointer-events:none;position:fixed;inset:0}.dm-tour.modal{pointer-events:auto;background:#062a2d80}.dm-hl{box-shadow:0 0 0 100vmax #062a2d73, 0 0 0 3px var(--action);pointer-events:none;opacity:0;transition:top .24s var(--ease), left .24s var(--ease), width .24s var(--ease), height .24s var(--ease), opacity .16s;border-radius:14px;position:fixed}.dm-tour.modal .dm-hl{display:none}.dm-card{pointer-events:auto}.dm-tour.modal .dm-card{transition:none;transform:translate(-50%,-50%);width:min(460px,100vw - 24px)!important;inset:50% auto auto 50%!important}.dm-tour.nomotion .dm-hl,.dm-tour.nomotion .dm-card{transition:none}.dm-n{background:var(--ink);width:34px;height:34px;color:var(--action);font-weight:800;font-size:var(--t-16);border-radius:10px;flex:none;place-items:center;display:grid}body.dm-touring .dg{display:none}.dm-note{align-items:center;gap:var(--s-3);margin-bottom:var(--s-5);border-radius:var(--r-lg);background:var(--joy-wash);color:var(--ink);border:1px solid #f6d9bf;padding:12px 14px;display:flex}.dm-note .avatar{--sz:36px;flex:none}.dm-note-copy{flex:1;gap:2px;min-width:0;display:grid}.dm-note-copy strong{font-size:var(--t-16);font-weight:600}.dm-note-copy span{font-size:var(--t-13);color:var(--joy-ink)}.dm-note-go{font-weight:600;font-size:var(--t-14);white-space:nowrap}.dm-note:hover .dm-note-go{text-underline-offset:3px;text-decoration:underline}.dm-resume{z-index:250;border-radius:var(--r-pill);background:var(--ink);color:#fff;height:40px;font-weight:600;font-size:var(--t-13);box-shadow:var(--float);align-items:center;gap:10px;padding:0 16px;display:inline-flex;position:fixed;bottom:16px;left:16px}.dm-resume span{color:var(--action)}@media (width<=900px){.demo-pick{height:32px;padding:0 2px}.demo-pick-label{display:none}.demo-pick-btn{width:26px;height:26px;font-size:var(--t-12)}.demo-pick-btn:after{display:none}.dm-card{max-height:60dvh;overflow-y:auto}.dm-note{flex-wrap:wrap}.dm-note-go{width:100%;padding-left:48px}.dm-resume{bottom:calc(76px + env(safe-area-inset-bottom))}}
