@import "https://fonts.googleapis.com/css2?family=Manrope:wght@600;700;800&family=Onest:wght@300;400;500;600&display=swap&subset=latin,latin-ext,cyrillic";:root{--canvas:#0a0a0f;--surface:#ffffff08;--surface2:#ffffff0d;--sidebar:#ffffff05;--pop:#13131f;--border:#ffffff14;--border-hi:#fff3;--divider:#ffffff0a;--rowhover:#ffffff08;--text:#fff;--muted:#fff6;--dim:#fff3;--label:#ffffff80;--accent:#6366f1;--accent-bg:#6366f126;--accent-bd:#6366f14d;--accent-text:#a5b4fc;--grad:linear-gradient(135deg, #6366f1, #8b5cf6);--ok:#4ade80;--ok-bg:#22c55e26;--wait:#facc15;--wait-bg:#eab30826;--bad:#f87171;--bad-bg:#ef444426;--warn:#fb923c;--warn-bg:#f9731626;--blue:#60a5fa;--blue-bg:#3b82f626;--violet:#a78bfa;--violet-bg:#8b5cf626;--logout:#f8717199;--grid-line:#6366f10f;--font-heading:"Manrope", system-ui, sans-serif;--font-body:"Onest", system-ui, sans-serif}[data-theme=light]{--canvas:#f8f8fb;--surface:#0a0a0f09;--surface2:#0a0a0f0d;--sidebar:#0a0a0f06;--pop:#fff;--border:#0a0a0f1a;--border-hi:#0a0a0f38;--divider:#0a0a0f0f;--rowhover:#0a0a0f0a;--text:#0a0a0f;--muted:#0a0a0f8c;--dim:#0a0a0f47;--label:#0a0a0f99;--accent:#6366f1;--accent-bg:#6366f11f;--accent-bd:#6366f159;--accent-text:#4338ca;--grad:linear-gradient(135deg, #6366f1, #8b5cf6);--ok:#16a34a;--ok-bg:#22c55e1f;--wait:#ca8a04;--wait-bg:#eab30824;--bad:#dc2626;--bad-bg:#ef44441a;--warn:#c2410c;--warn-bg:#f973161f;--blue:#2563eb;--blue-bg:#3b82f61f;--violet:#7c3aed;--violet-bg:#8b5cf61f;--logout:#dc2626bf;--grid-line:#6366f114}[data-theme=light] .btn-secondary:hover:not(:disabled){background:#0a0a0f0f}[data-theme=light] .btn-ghost:hover:not(:disabled),[data-theme=light] .nav-item:hover{background:#0a0a0f0b}[data-theme=light] .dialog-body{color:#0a0a0fb8}[data-theme=light] .login-card{background:#0a0a0f09}[data-theme=light] .spinner{border-color:#0a0a0f1f}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--canvas);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{color:#8b5cf6}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.3px;margin:0;font-weight:700}button,input,select,textarea{font-family:inherit}.text-muted{color:var(--muted)}.btn{cursor:pointer;color:var(--text);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:9px 18px;font-size:14px;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{font-family:var(--font-heading);background:var(--grad);color:#fff;font-weight:600;box-shadow:0 6px 18px #6366f14d}.btn-primary:hover:not(:disabled){filter:brightness(1.07)}.btn-secondary{background:var(--surface2);border-color:var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){background:#ffffff14}.btn-ghost{color:var(--muted);border:1px solid var(--border);background:0 0;padding:6px 11px;font-size:12px}.btn-ghost:hover:not(:disabled){color:var(--text);background:#ffffff0f}.btn-danger:hover:not(:disabled){color:var(--bad);background:#ef444414;border-color:#ef444466}.btn-danger-solid{font-family:var(--font-heading);color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);font-weight:600;box-shadow:0 6px 18px #ef444447}.btn-danger-solid:hover:not(:disabled){filter:brightness(1.07)}.btn-danger-outline{color:var(--bad);background:0 0;border-color:#ef444466}.btn-danger-outline:hover:not(:disabled){background:#ef444414}.btn-icon{width:34px;height:34px;padding:0}.btn-block{width:100%}.btn-sm{border-radius:8px;padding:6px 11px;font-size:12px}.field{flex-direction:column;gap:6px;display:flex}.field label{font:500 11px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--label)}.input,select.input,textarea.input{background:var(--surface2);border:1px solid var(--border);width:100%;min-height:40px;color:var(--text);border-radius:10px;outline:none;padding:9px 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--dim)}.input:focus{background:#6366f112;border-color:#6366f199;box-shadow:0 0 0 3px #6366f11f}textarea.input{resize:vertical;min-height:80px}.field-error{color:var(--bad);font-size:12px}.check,.field label.check{cursor:pointer;font:400 13px var(--font-body);letter-spacing:0;text-transform:none;color:var(--text);align-items:center;gap:8px;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:none;margin:0}.field-hint{color:var(--muted);font-size:12px}.tag{font:500 11px var(--font-body);letter-spacing:.02em;white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:3px 9px;display:inline-flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px}.table-wrap{border:1px solid var(--border);border-radius:16px;overflow-x:auto}table.table{border-collapse:collapse;width:100%;min-width:640px;font-size:14px}table.table thead tr{border-bottom:1px solid var(--border)}table.table th{text-align:left;font:500 11px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding:12px 16px}table.table td{border-bottom:1px solid var(--divider);padding:10px 16px}table.table tbody tr:last-child td{border-bottom:none}table.table tbody tr:hover{background:var(--rowhover)}table.table tr.clickable{cursor:pointer}.pill-btn{cursor:pointer;font:inherit;background:0 0;border:0;border-radius:20px;padding:0}.pill-btn:hover .tag{filter:brightness(1.12)}.pill-btn:focus-visible{outline:2px solid var(--accent-bd);outline-offset:2px}.cell-ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.icon-actions{justify-content:flex-end;gap:2px;display:flex}.icon-actions .btn{border:0;width:30px;height:30px;padding:0}.seg{background:var(--surface2);scrollbar-width:none;border-radius:10px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg-opt{cursor:pointer;color:var(--muted);font:500 13px var(--font-body);white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:none;padding:7px 12px}.seg-opt.active{background:var(--accent-bg);color:var(--accent-text)}.dialog-backdrop{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05050a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog{background:var(--pop);border:1px solid var(--border);border-radius:20px;flex-direction:column;gap:16px;width:min(520px,100%);max-height:calc(100vh - 40px);padding:24px 26px;display:flex;overflow:auto;box-shadow:0 20px 60px #0009}.dialog-header{align-items:center;gap:12px;display:flex}.dialog-title{font:700 18px var(--font-heading);letter-spacing:-.3px}.dialog-body{color:#ffffffbf;font-size:14px}.dialog-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding-top:14px;display:flex}.dialog-actions-right{gap:8px;margin-left:auto;display:flex}.dialog-icon{border-radius:12px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.dialog-close{margin-left:auto}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid .full{grid-column:1/-1}.banner{border-radius:10px;align-items:flex-start;gap:10px;padding:12px 16px;font-size:13px;display:flex}.banner-ok{background:var(--ok-bg);color:var(--ok)}.banner-bad{background:var(--bad-bg);color:var(--bad)}.banner-wait{background:var(--wait-bg);color:var(--wait)}.banner-info{background:var(--blue-bg);color:var(--blue)}.toast-stack{z-index:300;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--pop);border:1px solid var(--border);color:var(--text);border-radius:10px;min-width:220px;padding:11px 16px;font-size:13px;box-shadow:0 8px 30px #00000080}.toast.ok{border-color:#22c55e66}.toast.bad{border-color:#ef444466}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;flex:0 0 240px;width:240px;height:100vh;display:flex;position:sticky;top:0}.sidebar-close,.sidebar-backdrop,.menu-toggle{display:none}.sidebar-logo{align-items:center;gap:10px;padding:20px 20px 0;display:flex}.sidebar-logo .mark{color:#fff;width:34px;height:34px;font:800 13px var(--font-heading);background:#4740db;border-radius:9px;justify-content:center;align-items:center;display:flex}.sidebar-logo .name{font:800 19px var(--font-heading);letter-spacing:-.4px}.sidebar-logo .name .lab{color:var(--accent)}.sidebar-user{background:var(--accent-bg);cursor:pointer;color:var(--text);text-align:left;font:inherit;border:1px solid #6366f133;border-radius:12px;align-items:center;gap:10px;margin:20px 12px 8px;padding:12px;display:flex}.avatar{background:var(--grad);color:#fff;width:36px;height:36px;font:800 13px var(--font-heading);border-radius:50%;flex:0 0 36px;justify-content:center;align-items:center;display:flex}.sidebar-user .name{font:500 14px var(--font-body);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.role-badge{font:500 10px var(--font-body);letter-spacing:.05em;text-transform:uppercase;border-radius:20px;margin-top:3px;padding:2px 7px;display:inline-block}.nav{flex-direction:column;flex:1;gap:2px;padding:8px 12px;display:flex;overflow:auto}.nav-item{cursor:pointer;text-align:left;width:100%;color:var(--muted);background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;display:flex;position:relative}.nav-item:hover{color:var(--text);background:#ffffff0d}.nav-item.active{background:var(--accent-bg);color:var(--text)}.nav-item.active .nav-icon{color:var(--accent)}.nav-icon{text-align:center;width:18px;font-size:18px}.nav-badge{background:var(--accent-bg);color:var(--accent-text);border-radius:20px;margin-left:auto;padding:1px 7px;font-size:10px}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:8px 12px 20px;display:flex}.sidebar-footer .nav-item.logout{color:var(--logout)}.sidebar-footer .nav-item.logout:hover{color:var(--bad);background:#ef444414}.settings-title{align-items:center;gap:8px;font-size:16px;display:flex}.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.choice{cursor:pointer;text-align:left;background:var(--surface2);border:1px solid var(--border);min-width:0;color:var(--muted);font:500 14px var(--font-body);border-radius:12px;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;transition:border-color .15s,background .15s,color .15s;display:flex}.choice span{overflow-wrap:anywhere}.choice:hover{border-color:var(--border-hi);color:var(--text)}.choice.active{background:var(--accent-bg);border-color:var(--accent-bd);color:var(--text)}.choice.active svg,.choice.active .choice-code{color:var(--accent-text)}.choice:focus-visible{outline:2px solid var(--accent-bd);outline-offset:2px}.choice-code{font:800 12px var(--font-heading);letter-spacing:.06em;color:var(--dim)}@media (width<=420px){.choice-grid{grid-template-columns:1fr}.choice{flex-direction:row;align-items:center;padding:12px 14px}}.main-col{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--canvas);z-index:20;flex:0 0 60px;justify-content:space-between;align-items:center;gap:16px;height:60px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-title{font:700 18px var(--font-heading);letter-spacing:-.3px}.content{flex:1;padding:28px;overflow:auto}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-head h3{font-size:22px}.page-head .sub{color:var(--muted);margin-top:4px;font-size:13px}.stack{flex-direction:column;gap:20px;display:flex}.row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.login-screen{background-image:radial-gradient(circle at 70% 40%, #6366f126 0, transparent 60%), linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);background-size:auto,48px 48px,48px 48px;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex;position:relative;overflow:hidden}.login-card{border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border-radius:24px;width:100%;max-width:420px;padding:40px;position:relative}.login-card:before{content:"";background:linear-gradient(90deg,#0000,#6366f1cc,#0000);width:60%;height:1px;position:absolute;top:0;left:20%}.empty-state{min-height:260px;color:var(--dim);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.center-spinner{color:var(--muted);justify-content:center;align-items:center;padding:60px;display:flex}.spinner{border:3px solid #ffffff1a;border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}table.journal{min-width:0}table.journal th,table.journal td{text-align:center;padding:8px 6px}table.journal .sticky-col{z-index:1;background:var(--pop);text-align:left;border-right:1px solid var(--border);min-width:170px;padding-left:16px;padding-right:12px;position:sticky;left:0}table.journal tfoot td{border-top:1px solid var(--border);font-size:13px}.att-cell{width:26px;height:26px;font:600 12px var(--font-body);border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.stat-grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}@media (width<=1200px){.stat-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=560px){.stat-grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;align-items:center;gap:14px;padding:18px;display:flex}.stat-icon{border-radius:12px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;font-size:19px;display:flex}.stat-value{font:700 22px var(--font-heading)}.stat-label{color:var(--muted);margin-top:2px;font-size:12px}.stat-grid.kpi{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-grid.kpi .stat-value{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=1100px){.stat-grid.kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.stat-grid.kpi{gap:10px}.stat-grid.kpi .stat-card{padding:14px}.stat-grid.kpi .stat-icon{display:none}.stat-grid.kpi .stat-value{font-size:18px}}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.section-head h4,.section-title{font-size:15px}.link-btn{font:inherit;color:var(--text);cursor:pointer;text-align:left;text-decoration:underline;-webkit-text-decoration-color:var(--border-hi);text-decoration-color:var(--border-hi);text-underline-offset:3px;background:0 0;border:0;padding:0}.link-btn:hover{color:var(--accent-text);text-decoration-color:currentColor}.course-cards{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;display:grid}.course-card{flex-direction:column;gap:8px;min-width:0;padding:16px;display:flex}.clamp-2{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.frozen-banner{border:1px solid var(--blue-bg);align-items:flex-start;padding:18px 20px;font-size:16px}.tag-row{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.tag-row.nowrap{flex-wrap:nowrap;max-width:100%}.tag-row.nowrap>.cell-ellipsis{flex:0 auto;min-width:0}.tag-row.nowrap>.tag{flex:none}table.table.fin-table th{white-space:normal;vertical-align:bottom;line-height:1.3}table.table.fin-table th,table.table.fin-table td{padding-left:12px;padding-right:12px}.fin-tabs{align-self:flex-start}.cell-list{flex-direction:column;gap:4px;display:flex}.seg-count{opacity:.7;font-variant-numeric:tabular-nums;margin-left:4px;font-size:11px}.fin-split{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;display:grid}@media (width<=1100px){.fin-split{grid-template-columns:minmax(0,1fr)}}.filters{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.filters .field{flex:180px;min-width:0;max-width:260px}.filters .filters-period{flex:0 auto;max-width:100%}.filters .filters-search{flex:2 240px;max-width:360px}.filters .filters-date{flex:0 160px}.bars{align-items:stretch;gap:6px;height:220px;display:flex}.bar-col{border-radius:8px;outline:none;flex-direction:column;flex:1 1 0;align-items:center;gap:6px;min-width:0;display:flex}.bar-col:hover .bar,.bar-col:focus-visible .bar{filter:brightness(1.15)}.bar-col:focus-visible{box-shadow:0 0 0 2px var(--accent-bd)}.bar-value{height:16px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.bar-track{border-bottom:1px solid var(--border);flex:1;align-items:flex-end;width:100%;max-width:56px;display:flex}.bar{background:var(--accent);border-radius:4px 4px 0 0;width:100%}.bar-label{color:var(--muted);white-space:nowrap;font-size:11px}.share-track{background:var(--accent-bg);border-radius:3px;height:6px;overflow:hidden}.share-bar{background:var(--accent);border-radius:3px;height:100%}.home-actions{flex-wrap:wrap;gap:8px;display:flex}.home-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(264px,auto);grid-auto-flow:dense;gap:16px;display:grid}.home-slot.wide{grid-column:span 2}@media (width<=1100px){.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.home-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(220px,auto);gap:12px}.home-slot.wide{grid-column:auto}.home-grid:not(.editing) .home-slot.empty{display:none}.home-actions{width:100%}.home-actions .btn{flex:auto}}.home-slot{min-width:0;display:flex;position:relative}.home-slot>*{flex:1;min-width:0}.home-slot.edit{border:2px dashed var(--border-hi);border-radius:18px;padding:6px;transition:border-color .15s,background .15s}.home-slot.edit.over{border-color:var(--accent);background:var(--accent-bg)}.home-slot.edit.selected{border-color:var(--accent);border-style:solid}.home-slot.edit.dragging{opacity:.45}.home-edit-widget{cursor:grab;border-radius:14px;flex-direction:column;gap:6px;display:flex;position:relative}.home-edit-widget:active{cursor:grabbing}.home-edit-body{pointer-events:none;-webkit-user-select:none;user-select:none;flex:1;min-width:0;display:flex}.home-edit-body>*{flex:1;min-width:0}.home-edit-bar{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.home-tools{flex:none;gap:6px;display:flex}.home-size.seg{width:auto;min-width:0;display:inline-flex}.home-size .seg-opt{flex:none;padding:5px 10px;font-size:12px}.home-tool{background:var(--pop);border:1px solid var(--border);width:32px;height:32px;color:var(--muted);border-radius:9px;box-shadow:0 4px 14px #0000002e}.home-tool:hover:not(:disabled){color:var(--text);border-color:var(--border-hi)}.home-tool.active{background:var(--accent-bg);border-color:var(--accent-bd);color:var(--accent-text)}.home-tool.danger:hover:not(:disabled){color:var(--bad);border-color:var(--bad)}.home-add{color:var(--muted);cursor:pointer;font:500 14px var(--font-body);background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:200px;display:flex}.home-add:hover:not(:disabled){background:var(--surface2);color:var(--text)}.home-add:disabled{cursor:default;color:var(--dim)}.home-add:focus-visible,.home-target:focus-visible,.home-tool:focus-visible,.widget-link:focus-visible,.widget-row:focus-visible{outline:2px solid var(--accent-bd);outline-offset:2px}.home-target{z-index:3;cursor:pointer;font:600 14px var(--font-body);background:var(--accent-bg);color:var(--accent-text);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.home-target:hover{background:var(--accent-bd)}.home-pick{width:100%;color:var(--text);flex-direction:row;align-items:center;gap:12px}.home-pick-title{font-weight:600;display:block}.home-pick-desc{color:var(--muted);margin-top:2px;font-size:12px;font-weight:400;display:block}.widget{background:var(--surface);border:1px solid var(--border);min-width:0;color:var(--text);text-align:left;font:inherit;border-radius:16px;flex-direction:column;gap:14px;padding:18px 20px;display:flex}button.widget-link{cursor:pointer;transition:border-color .15s,background .15s}button.widget-link:hover{border-color:var(--accent-bd);background:var(--rowhover)}.widget-head{align-items:center;gap:10px;min-width:0;min-height:30px;display:flex}.widget-icon{background:var(--accent-bg);width:30px;height:30px;color:var(--accent-text);border-radius:9px;flex:0 0 30px;justify-content:center;align-items:center;display:inline-flex}.widget-title{font:700 15px var(--font-heading);letter-spacing:-.2px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.widget-aside{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;margin-left:auto;font-size:12px;overflow:hidden}.widget-body{flex-direction:column;flex:1;gap:12px;min-width:0;min-height:0;display:flex}.widget-foot{color:var(--muted);margin-top:auto;font-size:12px}.widget-message{color:var(--muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.widget-kicker{font:500 11px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--label)}.widget-list{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.widget-row{width:calc(100% + 20px);min-width:0;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;margin:0 -10px;padding:8px 10px;display:flex}.widget-row:hover{background:var(--rowhover)}.widget-row.static{cursor:default}.widget-row.static:hover{background:0 0}.widget-row-title{white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.widget-row-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.widget-row-when{color:var(--accent-text);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;font-size:12px}.widget-more{color:var(--muted);font-size:12px}.notif-row{align-items:flex-start}.notif-icon{border-radius:8px;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.notif-dot{background:var(--accent);border-radius:50%;flex:0 0 8px;width:8px;height:8px;margin-top:6px}.bday-me,.bday-me:hover{background:var(--accent-bg)}.bday-you{color:var(--accent-text);font-weight:600}.note-text{resize:vertical;width:100%;min-height:120px;font:inherit;flex:1;line-height:1.45}.note-foot{min-width:0;color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.note-status{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.clock-face{flex-direction:column;flex:1;justify-content:center;display:flex}.clock-time{font:800 64px/1 var(--font-heading);letter-spacing:-2px;font-variant-numeric:tabular-nums}.clock-sec{letter-spacing:0;color:var(--muted);margin-left:8px;font-size:24px}.clock-dow{font:600 17px var(--font-heading);margin-top:14px}.clock-dow:first-letter{text-transform:uppercase}.clock-date{color:var(--muted);margin-top:2px}.weather-main{flex:1;align-items:center;gap:16px;display:flex}.weather-icon{background:var(--accent-bg);width:68px;height:68px;color:var(--accent-text);border-radius:18px;flex:0 0 68px;justify-content:center;align-items:center;display:flex}.weather-temp{font:800 48px/1 var(--font-heading);letter-spacing:-1.5px;font-variant-numeric:tabular-nums}.weather-desc{color:var(--muted);margin-top:6px}.weather-desc:first-letter{text-transform:uppercase}.weather-facts{flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.weather-facts>span{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.weather-facts svg{color:var(--muted)}.mini-stats{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:10px;display:grid}.mini-stat{background:var(--surface2);border-radius:12px;min-width:0;padding:12px 14px}.mini-stat-value{font:700 20px var(--font-heading);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mini-stat-label{color:var(--muted);margin-top:2px;font-size:12px}@media (width<=640px){.clock-time{font-size:54px}.widget{padding:16px}}.widget-clickable{cursor:pointer;transition:border-color .15s,background .15s}.widget-clickable:hover{border-color:var(--accent-bd)}.widget-big{align-items:baseline;gap:10px;min-width:0;display:flex}.widget-big-num{font:800 40px/1 var(--font-heading);letter-spacing:-1px;font-variant-numeric:tabular-nums}.widget-big-label{color:var(--muted);min-width:0;font-size:13px}.group-dot{border-radius:50%;flex:0 0 8px;width:8px;height:8px;display:inline-block}.next-when{background:var(--accent-bg);color:var(--accent-text);font-variant-numeric:tabular-nums;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.next-when.soon{background:var(--wait-bg);color:var(--wait)}.next-when.live{background:var(--ok-bg);color:var(--ok)}.next-main{align-items:center;gap:24px;min-width:0;display:flex}.next-time{border-right:1px solid var(--border);flex:none;padding-right:24px}.next-range{font:800 30px/1.1 var(--font-heading);letter-spacing:-.8px;font-variant-numeric:tabular-nums;white-space:nowrap}.next-day{color:var(--muted);margin-top:4px;font-size:13px}.next-info{flex:1;min-width:0}.next-group{font:700 18px var(--font-heading);align-items:center;gap:8px;min-width:0;display:flex}.next-group>span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.next-course{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.next-meta,.upcoming-meta{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:12px;display:flex}.next-meta>span,.upcoming-meta>span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.next-topics{background:var(--surface2);border-radius:12px;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;font-size:13px;display:flex}.next-topic{gap:8px;min-width:0;display:flex}.next-topic>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.next-topic-label{color:var(--label);flex:none}.next-topic-label:after{content:":"}.next-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;display:flex}.next-actions a.btn-primary:hover{color:#fff}.next-actions a.btn-secondary:hover{color:var(--text)}@media (width<=640px){.next-main{flex-direction:column;align-items:stretch;gap:12px}.next-time{border-right:0;flex-wrap:wrap;align-items:baseline;gap:10px;padding-right:0;display:flex}.next-range{font-size:26px}.next-day{margin-top:0}.next-actions .btn{flex:auto}}.week-strip{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.week-day{background:var(--surface2);min-width:0;color:var(--text);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:10px 4px;transition:border-color .15s,background .15s;display:flex}.week-day:hover{border-color:var(--accent-bd)}.week-day:focus-visible{outline:2px solid var(--accent-bd);outline-offset:2px}.week-day.past{opacity:.55}.week-day.today{background:var(--accent-bg);border-color:var(--accent-bd)}.week-day.today .week-dow,.week-day.today .week-num{color:var(--accent-text)}.week-dow{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px}.week-num{font:700 22px/1.1 var(--font-heading);font-variant-numeric:tabular-nums}.week-dots{gap:3px;height:6px;display:flex}.week-dots i{background:var(--accent);border-radius:50%;width:6px;height:6px}.week-count{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;overflow:hidden}@media (width<=640px){.week-strip{gap:4px}.week-day{padding:8px 2px}.week-num{font-size:18px}.week-count{display:none}}.action-list{flex-direction:column;flex:1;gap:8px;display:flex}.action-btn{border:1px solid var(--border);background:var(--surface2);width:100%;min-width:0;color:var(--text);font:500 14px var(--font-body);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:9px 12px;transition:border-color .15s;display:flex}.action-btn:hover{border-color:var(--accent-bd)}.action-btn:focus-visible{outline:2px solid var(--accent-bd);outline-offset:2px}.action-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.action-chevron{color:var(--muted);display:inline-flex}.upcoming{flex-direction:column;gap:12px;display:flex}.upcoming .section-head .link-btn{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.upcoming-body{flex-direction:column;gap:14px;min-height:80px;display:flex}.upcoming-day{flex-direction:column;gap:2px;display:flex}.upcoming-day-title{font:500 11px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--label);margin-bottom:4px}.upcoming-row{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:16px;margin:0 -12px;padding:10px 12px;display:flex}.upcoming-row:hover{background:var(--rowhover)}.upcoming-row:focus-visible{outline:2px solid var(--accent-bd);outline-offset:2px}.upcoming-time{font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 0 96px;font-weight:600}.upcoming-main{flex:1;min-width:0}.upcoming-group{align-items:center;gap:8px;min-width:0;display:flex}.upcoming-meta{flex:none;justify-content:flex-end;align-items:center;margin-top:0}@media (width<=640px){.upcoming-row{flex-wrap:wrap;gap:4px 12px}.upcoming-time{flex-basis:auto}.upcoming-main{flex:100%;order:2}.upcoming-meta{order:1;margin-left:auto}}.filters .audit-id-field{flex:0 120px}.audit-ops{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.audit-ops .seg{width:auto}.audit-cell{flex-direction:column;min-width:0;display:inline-flex}@media (width<=640px){.audit-cell{text-align:right;align-items:flex-end}.audit-perm-details{justify-content:flex-end}}.audit-time{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--muted)}.audit-num{font-variant-numeric:tabular-nums;white-space:nowrap}.audit-code{color:var(--label);font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.audit-fields{flex-wrap:wrap;gap:4px;display:flex}.audit-fields code,code.audit-diff-field{background:var(--surface2);color:var(--text);white-space:nowrap;border-radius:6px;padding:1px 6px;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.audit-json{word-break:break-all;color:var(--muted);font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.audit-perm-details{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}table.audit-table tr.clickable:focus-visible{outline:2px solid var(--accent-bd);outline-offset:-2px}.audit-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:13px;display:flex}.audit-meta>span:not(.tag){align-items:center;gap:6px;display:inline-flex}.audit-diff{border:1px solid var(--border);border-radius:12px;flex-direction:column;max-height:min(60vh,560px);display:flex;overflow:hidden auto}.audit-diff-head,.audit-diff-row{grid-template-columns:minmax(120px,180px) minmax(0,1fr);align-items:start;gap:12px;padding:8px 14px;display:grid}.audit-diff.update .audit-diff-head,.audit-diff.update .audit-diff-row{grid-template-columns:minmax(110px,160px) minmax(0,1fr) 16px minmax(0,1fr)}.audit-diff.update .audit-diff-head>span:last-child{grid-column:4}.audit-diff-head{z-index:1;background:var(--surface2);font:500 11px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--label);position:sticky;top:0}.audit-diff-row{border-top:1px solid var(--border);font-size:13px}.audit-diff-row>span{overflow-wrap:anywhere;min-width:0}.audit-diff-row code.audit-diff-field{justify-self:start}.audit-diff.update .audit-diff-row:not(.changed){color:var(--muted)}.audit-diff-row.changed{background:var(--accent-bg)}.audit-diff-row.changed .audit-diff-old{color:var(--bad);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--bad) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--bad) 55%, transparent)}.audit-diff-row.changed .audit-diff-new{color:var(--ok);font-weight:600}.audit-diff-arrow{color:var(--label);padding-top:2px;display:inline-flex}.audit-diff-row:not(.changed) .audit-diff-arrow{visibility:hidden}@media (width<=640px){.audit-ops .seg{width:100%}.filters .audit-id-field{flex:100%}.audit-diff-head{display:none}.audit-diff-row,.audit-diff.update .audit-diff-row{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:4px 8px}.audit-diff-row code.audit-diff-field{grid-column:1/-1}.audit-diff:not(.update) .audit-diff-row{grid-template-columns:minmax(0,1fr)}}.tg-block{gap:14px}.tg-steps{color:var(--muted);flex-direction:column;gap:4px;margin:0;padding-left:20px;font-size:13px;display:flex}.tg-link{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (width<=900px){.menu-toggle{display:inline-flex}.sidebar{z-index:210;height:100vh;transition:transform .2s ease-out;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:24px 0 48px #00000080}.sidebar-close{display:inline-flex}.sidebar-backdrop{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#05050a99;display:block;position:fixed;inset:0}.topbar{padding:0 16px}.topbar-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.content{padding:18px}.form-grid{grid-template-columns:1fr}}@media (width<=640px){table.table.stack-sm{min-width:0}table.table.stack-sm thead{display:none}table.table.stack-sm,table.table.stack-sm tbody,table.table.stack-sm tr{width:100%;display:block}table.table.stack-sm tr{border-bottom:1px solid var(--divider);flex-direction:column;padding:10px 14px;display:flex}table.table.stack-sm tbody tr:last-child{border-bottom:0}table.table.stack-sm td{border:0;justify-content:space-between;align-items:center;gap:12px;max-width:none;padding:3px 0;display:flex;text-align:right!important}table.table.stack-sm td:before{content:attr(data-label);text-align:left;color:var(--muted);flex:none;font-size:12px}table.table.stack-sm td:not([data-label]){order:-1;padding-bottom:6px;display:block;text-align:left!important}table.table.stack-sm td:not([data-label]):before{content:none}table.table.stack-sm td:empty{display:none}table.table.stack-sm td.cell-ellipsis{white-space:normal}table.table.stack-sm td.cell-actions{order:1;padding-top:6px;display:block}table.table.stack-sm td.cell-actions .icon-actions{justify-content:flex-start}table.table.stack-sm td .cell-list{align-items:flex-end}table.table.stack-sm td .cell-list .tag-row{justify-content:flex-end}.filters .field,.filters .filters-search{flex:100%;max-width:none}.filters .filters-date{flex:140px}.seg{width:100%;display:flex}.seg-opt{flex:1 0 auto}}@media (width<=480px){.dialog{padding:20px 18px}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.home-slot.edit.empty:has(.home-target) .home-add{visibility:hidden}.an-filters .an-date{width:150px}.an-filters .an-course{width:220px}.an-filters .seg{width:auto}@media (width<=640px){.an-filters .an-date{width:calc(50% - 6px)}.an-filters .an-course{width:100%}.an-filters>.btn{justify-content:center;width:100%}}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=1000px){.chart-grid{grid-template-columns:minmax(0,1fr)}}.chart-card{flex-direction:column;gap:12px;min-width:0;display:flex}.chart-head{align-items:baseline;gap:10px;display:flex}.chart-head h4{margin:0;font-size:15px}.chart-value{font:700 18px var(--font-heading);font-variant-numeric:tabular-nums;margin-left:auto}.mchart{flex-direction:column;gap:10px;min-width:0;display:flex}.mchart-legend{color:var(--muted);flex-wrap:wrap;gap:4px 14px;font-size:12px;display:flex}.mchart-legend span{align-items:center;gap:6px;display:inline-flex}.mchart-legend i,.mchart-tip i{border-radius:3px;width:10px;height:10px;display:inline-block}.mchart-scroll{padding-top:4px;overflow:auto visible}.mchart-plot{background:repeating-linear-gradient(to top, var(--divider) 0 1px, transparent 1px 25%);background-repeat:no-repeat;background-size:100% calc(100% - 22px);align-items:stretch;gap:2px;height:170px;display:flex}.mchart-col{border-radius:6px;outline:none;flex-direction:column;flex:1 1 0;min-width:0;display:flex;position:relative}.mchart-col:hover,.mchart-col:focus-visible{background:var(--rowhover)}.mchart-bars{border-bottom:1px solid var(--border);flex:1;justify-content:center;align-items:flex-end;gap:2px;padding:0 3px;display:flex}.mchart-bar{border-radius:4px 4px 0 0;flex:0 14px;min-width:3px}.mchart-bar.zero{min-height:0}.mchart-label{text-align:center;height:22px;color:var(--muted);white-space:nowrap;font-size:11px;line-height:22px;overflow:hidden}.mchart-tip{z-index:5;white-space:nowrap;background:var(--surface);border:1px solid var(--border);pointer-events:none;border-radius:10px;flex-direction:column;gap:3px;padding:8px 10px;font-size:12px;display:none;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0000002e}.mchart-tip span{font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.mchart-col:hover .mchart-tip,.mchart-col:focus-visible .mchart-tip{display:flex}.mchart-col:first-child .mchart-tip{left:0;transform:none}.mchart-col:last-child .mchart-tip{left:auto;right:0;transform:none}.mchart-label.year{color:var(--text);font-weight:600}table.table.wrap-head th{white-space:normal;vertical-align:bottom}.deletion-card{border-color:#ef444447;flex-wrap:wrap;align-items:center;gap:16px;display:flex}.deletion-card.deletion-pending{border-color:var(--wait);background:var(--wait-bg)}.deletion-card .deletion-text{flex:260px;min-width:0}.deletion-card>.btn{flex:none}.deletion-list{flex-direction:column;gap:4px;margin:8px 0 10px;padding-left:20px;display:flex}.privacy-link{text-underline-offset:3px;align-self:flex-start;align-items:center;gap:6px;font-size:13px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}.privacy-link:hover{color:var(--accent-text);text-decoration-color:currentColor}@media (width<=480px){.deletion-card>.btn{width:100%}}.settings-link{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:14px;text-decoration:none;transition:border-color .15s;display:flex}.settings-link:hover{border-color:var(--accent-bd)}.settings-link .icon,.settings-link svg{color:var(--muted);flex:none}.quick-filter{background:var(--surface2);border-color:var(--border);color:var(--muted);white-space:nowrap;min-height:40px;padding:0 14px;font-size:13px}.quick-filter:hover:not(:disabled){color:var(--text)}.quick-filter.active{background:var(--bad-bg);color:var(--bad);border-color:#ef444466}.picker-field{width:100%;position:relative}.picker-field>.input{font-variant-numeric:tabular-nums;padding-right:38px}.picker-field>.input[aria-invalid=true]{border-color:var(--bad)}.picker-icon{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.picker-icon:hover:not(:disabled){color:var(--accent-text);background:var(--accent-bg)}.picker-icon:disabled{cursor:not-allowed;opacity:.45}.picker-datetime{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px;display:grid}.picker-pop{z-index:400;background:var(--pop);width:296px;color:var(--text);border:1px solid var(--border-hi);border-radius:16px;outline:none;padding:12px;position:fixed;box-shadow:0 18px 50px #00000073}[data-theme=light] .picker-pop{box-shadow:0 18px 50px #0a0a0f29}.picker-pop button{font-family:inherit}.picker-head{align-items:center;gap:4px;margin-bottom:8px;display:flex}.picker-nav{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.picker-nav:hover:not(:disabled){background:var(--surface2)}.picker-nav:disabled{opacity:.3;cursor:default}.picker-title{height:32px;color:var(--text);cursor:pointer;font:700 14px var(--font-heading);letter-spacing:-.2px;text-transform:none;background:0 0;border:0;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:5px;display:flex}.picker-title:hover{background:var(--surface2);color:var(--accent-text)}.picker-title.static{cursor:default}.picker-title.static:hover{color:var(--text);background:0 0}.picker-dows{grid-template-columns:repeat(7,1fr);margin-bottom:2px;display:grid}.picker-dows span{text-align:center;font:500 10.5px var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:4px 0}.picker-grid{gap:2px;display:grid}.picker-grid.days{grid-template-columns:repeat(7,1fr)}.picker-grid.months{grid-template-columns:repeat(3,1fr);gap:6px}.picker-grid.years{grid-template-columns:repeat(4,1fr);gap:6px}.picker-day,.picker-cell{color:var(--text);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:9px;font-size:13px;transition:background .12s;position:relative}.picker-day{height:36px;padding:0}.picker-cell{white-space:nowrap;text-overflow:ellipsis;height:40px;padding:0 4px;overflow:hidden}.picker-day.other{color:var(--dim)}.picker-day:hover:not(:disabled),.picker-cell:hover:not(:disabled),.picker-day.active:not(.selected),.picker-cell.active:not(.selected){background:var(--surface2)}.picker-day.today,.picker-cell.today{border-color:var(--accent-bd);color:var(--accent-text);font-weight:600}.picker-day.selected,.picker-cell.selected,.picker-day.selected:hover,.picker-cell.selected:hover{background:var(--grad);color:#fff;border-color:#0000;font-weight:600;box-shadow:0 4px 12px #6366f14d}.picker-day:disabled,.picker-cell:disabled{color:var(--dim);opacity:.45;cursor:not-allowed;text-decoration:line-through}.picker-day:focus-visible,.picker-cell:focus-visible,.picker-nav:focus-visible,.picker-title:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.picker-foot{border-top:1px solid var(--divider);justify-content:space-between;gap:6px;margin-top:10px;padding-top:10px;display:flex}.picker-foot .btn-secondary{margin-left:auto}.picker-time{grid-template-columns:1fr 1fr;gap:10px;display:grid}.picker-pop:has(.picker-time){width:220px}.picker-col-head{font:500 10.5px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center;padding:2px 0 6px}.picker-col-list{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;gap:2px;height:228px;padding-right:2px;display:flex;overflow-y:auto}.picker-col-list .picker-cell{flex:0 0 34px;height:34px}.picker-sheet-backdrop{z-index:400;background:#05050a8c;align-items:flex-end;animation:.15s ease-out picker-fade;display:flex;position:fixed;inset:0}.picker-pop.sheet{width:100%;max-height:88vh;padding:8px 16px calc(16px + env(safe-area-inset-bottom));border-bottom:0;border-radius:20px 20px 0 0;animation:.2s ease-out picker-up;position:relative;overflow-y:auto}.picker-pop.sheet:has(.picker-time){width:100%}.picker-sheet-grip{background:var(--border-hi);border-radius:2px;width:40px;height:4px;margin:0 auto 10px}.picker-sheet-title{font:500 11px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--label);text-align:center;margin-bottom:8px}.picker-pop.sheet .picker-day{height:44px;font-size:15px}.picker-pop.sheet .picker-cell{height:46px;font-size:14px}.picker-pop.sheet .picker-col-list .picker-cell{flex-basis:42px;height:42px}.picker-pop.sheet .picker-col-list{height:260px}.picker-pop.sheet .picker-nav,.picker-pop.sheet .picker-title{height:40px}.picker-pop.sheet .picker-nav{width:40px}.picker-pop.sheet .picker-foot .btn{padding:10px 16px;font-size:14px}@keyframes picker-up{0%{opacity:.4;transform:translateY(30px)}}@keyframes picker-fade{0%{opacity:0}}.room-hidden-toggle{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.room-hidden-list{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.room-hidden-list li{border:1px dashed var(--border);opacity:.8;cursor:not-allowed;border-radius:8px;flex-direction:column;gap:1px;padding:6px 10px;font-size:12px;display:flex}.room-hidden-title{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--border-hi);text-decoration-color:var(--border-hi)}.room-hidden-reason{color:var(--bad)}.branch-card{flex-direction:column;gap:12px;display:flex}.branch-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.branch-head h4{flex-wrap:wrap;align-items:center;gap:8px;font-size:16px;display:flex}.branch-meta{color:var(--muted);overflow-wrap:anywhere;flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:13px;display:flex}.branch-meta span{align-items:center;gap:5px;display:inline-flex}.room-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.room-chip{border:1px solid var(--border);min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.room-chip:hover{border-color:var(--border-hi)}.room-chip .room-chip-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.room-chip .room-chip-sub{color:var(--muted);font-size:12px}.login-links{flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:20px;display:flex}.login-links .privacy-link{align-self:auto}.pub{flex-direction:column;min-height:100vh;display:flex}.pub-wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 24px}.pub-header{z-index:50;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--canvas) 82%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0}.pub-header-inner{align-items:center;gap:12px 28px;max-width:1160px;margin:0 auto;padding:12px 24px;display:flex}.pub-brand{color:var(--text);flex:none;align-items:center;gap:10px;display:inline-flex}.pub-brand:hover{color:var(--text)}.pub-brand .mark{color:#fff;background:#4740db;border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.pub-brand .name{font:800 19px var(--font-heading);letter-spacing:-.4px}.pub-brand .name .lab{color:var(--accent)}.pub-nav{align-items:center;gap:4px;min-width:0;display:flex}.pub-nav-link{color:var(--muted);white-space:nowrap;border-radius:9px;padding:7px 12px;font-size:14px}.pub-nav-link:hover{color:var(--text);background:var(--surface2)}.pub-nav-link.active{color:var(--accent-text);background:var(--accent-bg)}.pub-actions{flex:none;align-items:center;gap:10px;margin-left:auto;display:flex}.pub-lang .seg-opt{padding:5px 9px;font-size:12px}.pub-login{white-space:nowrap;padding:8px 16px}.pub-login:hover{color:#fff}.pub-narrow{display:none}.pub-main{flex:1}.pub-kicker{font:600 12px var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.pub-lead{color:var(--label);margin:0;font-size:17px;line-height:1.6}.pub-hero{border-bottom:1px solid var(--divider);background-image:radial-gradient(circle at 78% 30%, #6366f129 0, transparent 55%), linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);background-size:auto,48px 48px,48px 48px;padding:72px 0 56px}.pub-hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:48px;display:grid}.pub-hero-text{flex-direction:column;gap:18px;min-width:0;display:flex}.pub-hero h1{letter-spacing:-1.5px;font-size:52px;font-weight:800;line-height:1.08}.pub-hero-actions{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.pub-cta-btn{padding:12px 22px;font-size:15px}.pub-cta-btn.btn-primary:hover{color:#fff}.pub-cta-btn.btn-secondary:hover{color:var(--text)}.pub-platforms{flex-wrap:wrap;gap:6px;display:flex}.pub-platforms .tag{background:var(--surface2);color:var(--label);border:1px solid var(--border)}.pub-hero-art{border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;flex-direction:column;gap:16px;padding:28px;display:flex;position:relative}.pub-hero-art:before{content:"";background:linear-gradient(90deg,#0000,#6366f1cc,#0000);width:60%;height:1px;position:absolute;top:0;left:20%}.pub-hero-logo{color:#fff;background:#4740db;border-radius:26px;justify-content:center;align-items:center;width:96px;height:96px;display:flex;box-shadow:0 16px 40px #4740db59}.pub-hl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pub-hl{background:var(--surface2);border-radius:14px;min-width:0;padding:14px 16px}.pub-hl-value{font:800 30px/1.1 var(--font-heading);letter-spacing:-1px;background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.pub-hl-label{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.4}.pub-section{padding:64px 0 0}.pub-section:last-child{padding-bottom:72px}.pub-section-head{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.pub-section-head h2,.pub-panel h2,.pub-cta h2{letter-spacing:-.8px;font-size:30px}.pub-section-head p,.pub-panel p,.pub-cta p{margin:0;font-size:15px}.pub-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.pub-feature{border:1px solid var(--border);background:var(--surface);border-radius:18px;flex-direction:column;gap:8px;min-width:0;padding:22px;transition:border-color .15s;display:flex}.pub-feature:hover{border-color:var(--accent-bd)}.pub-feature-icon{background:var(--accent-bg);width:40px;height:40px;color:var(--accent-text);border-radius:12px;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.pub-feature h3{font-size:17px}.pub-feature p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.pub-roles{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.pub-role{background:var(--surface2);border-radius:16px;min-width:0;padding:18px 20px}.pub-role-head{font:700 15px var(--font-heading);color:var(--accent-text);align-items:center;gap:8px;display:flex}.pub-role p{color:var(--muted);margin:8px 0 0;font-size:14px}.pub-split{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;display:grid}.pub-panel{border:1px solid var(--border);background:var(--surface);border-radius:20px;flex-direction:column;gap:12px;min-width:0;padding:28px;display:flex}.pub-checks{flex-direction:column;gap:10px;margin:4px 0 0;padding:0;list-style:none;display:flex}.pub-checks li{align-items:flex-start;gap:10px;line-height:1.5;display:flex}.pub-checks li svg{color:var(--ok);flex:none;margin-top:3px}.pub-more-link{align-self:flex-start;align-items:center;gap:6px;margin-top:auto;padding-top:6px;font-weight:500;display:inline-flex}.pub-app{background:radial-gradient(circle at 100% 0, #6366f12e 0, transparent 60%), var(--surface)}.pub-app-icon{color:#fff;background:#4740db;border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.pub-stores{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:6px;display:flex}.pub-soon{background:var(--accent-bg);color:var(--accent-text);white-space:normal;padding:6px 12px;font-size:12px}.pub-cta{border:1px solid var(--accent-bd);background:linear-gradient(135deg,#6366f129,#8b5cf61a);border-radius:22px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:32px;display:flex}.pub-cta>div{flex-direction:column;gap:6px;min-width:0;display:flex}.pub-page{flex-direction:column;gap:16px;padding-top:48px;padding-bottom:72px;display:flex}.pub-doc{border:1px solid var(--border);background:var(--surface);border-radius:20px;flex-direction:column;gap:14px;min-width:0;padding:28px;scroll-margin-top:80px;display:flex}.pub-doc h1{letter-spacing:-1px;font-size:36px;font-weight:800}.pub-doc h2{letter-spacing:-.5px;font-size:22px}.pub-doc h3{color:var(--label);margin-top:6px;font-size:15px}.pub-doc p{margin:0;line-height:1.6}.pub-parts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.pub-parts li{background:var(--surface2);border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;line-height:1.5;display:flex}.pub-parts li svg{color:var(--accent-text);flex:none;margin-top:2px}.pub-doc-links{flex-wrap:wrap;gap:8px;display:flex}.pub-doc-links .btn:hover{color:var(--text)}.pub-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.pub-info{flex-direction:column;margin:0;display:flex}.pub-info-row{border-bottom:1px solid var(--divider);gap:16px;padding:10px 0;display:flex}.pub-info-row:last-child{border-bottom:0}.pub-info dt{color:var(--muted);flex:0 0 130px}.pub-info dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:500}.pub-sources{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.pub-source{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;gap:8px;min-width:0;padding:18px;display:flex}.pub-source h4{font-size:16px}.pub-source h4 a{color:var(--text);align-items:center;gap:6px;display:inline-flex}.pub-source h4 a:hover{color:var(--accent-text)}.pub-source h4 svg{color:var(--muted)}.pub-source p{color:var(--muted);font-size:13px;line-height:1.55}.pub-source dl{grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:auto 0 0;font-size:13px;display:grid}.pub-source dt{color:var(--muted)}.pub-source dd{overflow-wrap:anywhere;margin:0}.pub-sources-error{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pub-footer{border-top:1px solid var(--border);background:var(--sidebar)}.pub-footer-inner{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px 32px;max-width:1160px;margin:0 auto;padding:28px 24px;display:grid}.pub-footer-brand{flex-direction:column;gap:8px;font-size:13px;display:flex}.pub-footer-links{flex-wrap:wrap;justify-content:flex-end;gap:8px 22px;font-size:14px;display:flex}.pub-footer-links a{color:var(--muted)}.pub-footer-links a:hover{color:var(--text)}.pub-copy{grid-column:1/-1;font-size:12px}@media (width<=1000px){.pub-hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}.pub-hero h1{font-size:42px}.pub-features,.pub-roles{grid-template-columns:repeat(2,minmax(0,1fr))}.pub-split{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.pub-header-inner{flex-wrap:wrap;padding:10px 16px 8px}.pub-nav{flex-wrap:wrap;order:3;row-gap:2px;width:100%;margin:0 -4px}.pub-nav-link{padding:6px 10px;font-size:13px}.pub-wrap{padding:0 16px}.pub-two,.pub-parts{grid-template-columns:minmax(0,1fr)}.pub-footer-inner{grid-template-columns:minmax(0,1fr);padding:24px 16px}.pub-footer-links{justify-content:flex-start}}@media (width<=560px){.pub-brand .name{font-size:17px}.pub-brand .mark{width:30px;height:30px}.pub-actions{gap:6px}.pub-lang .seg-opt{padding:5px 7px}.pub-login{padding:7px 12px;font-size:13px}.pub-wide{display:none}.pub-narrow{display:inline}.pub-hero{padding:40px 0 36px}.pub-hero h1{letter-spacing:-1px;font-size:34px}.pub-lead{font-size:15px}.pub-hero-art{padding:20px}.pub-hero-logo{border-radius:20px;width:72px;height:72px}.pub-hero-logo svg{width:52px;height:52px}.pub-features,.pub-roles{grid-template-columns:minmax(0,1fr)}.pub-section{padding-top:44px}.pub-section-head h2,.pub-panel h2,.pub-cta h2{font-size:24px}.pub-panel,.pub-doc,.pub-cta{padding:20px}.pub-cta .btn{width:100%}.pub-page{padding-top:24px}.pub-doc h1{font-size:28px}.pub-sources{grid-template-columns:minmax(0,1fr)}.pub-info-row{flex-direction:column;gap:2px}.pub-info dt{flex:none;font-size:12px}}.pub-sources-fallback{color:var(--muted);margin:12px 0 0;padding-left:20px;font-size:14px;line-height:1.7}.dl-hero{grid-template-columns:minmax(0,1fr) 260px;align-items:stretch;gap:16px;display:grid}.dl-main{background:radial-gradient(circle at 100% 0, #6366f129 0, transparent 55%), var(--surface);gap:16px}.dl-app{align-items:center;gap:16px;min-width:0;display:flex}.dl-app-text{flex-direction:column;gap:4px;min-width:0;display:flex}.dl-app h1{letter-spacing:-1px;font-size:36px;font-weight:800;line-height:1.1}.dl-icon{color:#fff;background:#4740db;border-radius:20px;flex:none;justify-content:center;align-items:center;width:72px;height:72px;display:flex;box-shadow:0 10px 28px #4740db52}.dl-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:14px;display:flex}.dl-tag{background:var(--accent-bg);color:var(--accent-text);padding:4px 11px;font-size:13px}.dl-btn{align-items:center;gap:8px;padding:14px 26px;font-size:16px;display:inline-flex}.dl-btn:hover{color:#fff}.dl-notes{border-top:1px solid var(--divider);flex-direction:column;gap:8px;padding-top:14px;display:flex}.dl-notes h2{letter-spacing:-.2px;font-size:17px}.dl-notes-text{white-space:pre-line;color:var(--label);overflow-wrap:anywhere;line-height:1.6}.dl-empty{background:var(--surface2);border-radius:14px;align-items:flex-start;gap:14px;padding:16px;display:flex}.dl-empty>div:last-child{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.dl-empty h2{font-size:18px}.dl-empty p{margin:0;line-height:1.55}.dl-empty-icon{background:var(--accent-bg);width:42px;height:42px;color:var(--accent-text);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.dl-qr{text-align:center;justify-content:center;align-items:center}.dl-qr h2{letter-spacing:-.2px;font-size:17px}.dl-qr p{margin:0;font-size:13px;line-height:1.5}.dl-qr-code{border:1px solid var(--border);background:#fff;border-radius:14px;width:172px;height:172px;padding:6px}.dl-qr-code svg{width:100%;height:100%;display:block}.dl-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.dl-steps li{background:var(--surface2);border-radius:14px;align-items:flex-start;gap:14px;min-width:0;padding:16px;display:flex}.dl-steps h3{color:var(--text);align-items:center;gap:6px;margin:2px 0 6px;font-size:15px;display:flex}.dl-steps h3 svg{color:var(--accent-text);flex:none}.dl-steps p{color:var(--label);margin:0;font-size:14px;line-height:1.55}.dl-step-num{background:var(--accent);color:#fff;width:30px;height:30px;font:700 14px var(--font-heading);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.dl-page .pub-two>:only-child{grid-column:1/-1}.dl-page .pub-doc h2{align-items:center;gap:8px;display:flex}.dl-page .pub-doc h2 svg{color:var(--accent-text);flex:none}.dl-sha{background:var(--surface2);border:1px solid var(--border);border-radius:12px;align-items:center;gap:8px;padding:10px 12px;display:flex}.dl-sha code{overflow-wrap:anywhere;min-width:0;color:var(--text);flex:1;font:12.5px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.dl-sha .btn{flex:none}.pub-stores{align-items:center}@media (width<=900px){.dl-hero{grid-template-columns:minmax(0,1fr)}.dl-qr{display:none}}@media (width<=640px){.dl-steps{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.dl-app h1{letter-spacing:-.6px;font-size:27px}.dl-icon{border-radius:16px;width:58px;height:58px}.dl-icon svg{width:32px;height:32px}.dl-btn{justify-content:center;width:100%}.dl-steps li{gap:12px;padding:14px}}.rel-actions{flex-wrap:wrap;gap:8px;display:flex}table.rel-table td{vertical-align:top}.rel-version-cell{min-width:200px;max-width:360px}.rel-version{font-size:15px}.rel-sha{color:var(--muted);margin-top:4px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.rel-src{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.rel-error{color:var(--bad);overflow-wrap:anywhere;align-items:flex-start;gap:5px;margin-top:4px;font-size:12px;line-height:1.45;display:flex}.rel-error svg{flex:none;margin-top:2px}.rel-date{flex-direction:column;gap:2px;display:inline-flex}.rel-by{font-size:12px}.rel-row-actions{white-space:nowrap;text-align:right}.rel-row-actions .btn+.btn{margin-left:6px}.rel-spin{border:2px solid;border-right-color:#0000;border-radius:50%;width:10px;height:10px;animation:.8s linear infinite spin;display:inline-block}.rel-progress{flex-direction:column;gap:6px;margin-top:4px;font-size:13px;display:flex}.rel-progress-bar{background:var(--surface2);height:8px;box-shadow:inset 0 0 0 1px var(--border);border-radius:4px;overflow:hidden}.rel-progress-bar>div{background:var(--accent);border-radius:4px;height:100%;transition:width .2s}@media (width<=640px){.rel-version-cell{min-width:0;max-width:none}table.rel-table.stack-sm td{align-items:flex-start}table.rel-table.stack-sm td.rel-row-actions{flex-wrap:wrap;order:1;justify-content:flex-start;gap:6px;padding-top:8px;display:flex}.rel-row-actions .btn+.btn{margin-left:0}.rel-actions{width:100%}.rel-actions .btn{flex:auto;justify-content:center}.rel-date{align-items:flex-end}}.learn-filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 12px;display:grid}.jp{font-family:"Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", "Meiryo", "Noto Sans CJK JP", "Source Han Sans JP", var(--font-body)}.learn-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.learn-summary{flex-wrap:wrap;gap:4px 16px;font-size:13px;display:flex}.learn-summary>span:first-child{color:var(--text);font-weight:500}table.learn-table th.num,table.learn-table td.num{text-align:right;font-variant-numeric:tabular-nums}table.learn-table th.learn-assignment-th{text-transform:none;letter-spacing:0;max-width:180px;font-size:12px}table.learn-table th.learn-assignment-th .cell-ellipsis{max-width:180px;display:block}.learn-th-sub{color:var(--dim);font-size:11px;font-weight:400;display:block}.learn-progress{align-items:center;gap:8px;min-width:120px;display:inline-flex}.learn-progress-track{background:var(--surface2);min-width:64px;height:6px;box-shadow:inset 0 0 0 1px var(--border);border-radius:3px;flex:1;overflow:hidden}.learn-progress-bar{background:var(--accent);border-radius:3px;height:100%;display:block}.learn-progress-num{font-variant-numeric:tabular-nums;text-align:right;min-width:32px;font-size:12px}.learn-hard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 24px;display:grid}.learn-hard-col{flex-direction:column;gap:2px;min-width:0;display:flex}.learn-hard-title{font:500 11px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.learn-hard-item{border-bottom:1px solid var(--divider);align-items:center;gap:10px;padding:6px 0;display:flex}.learn-hard-item:last-child{border-bottom:0}.learn-hard-label{overflow-wrap:anywhere;font-size:18px;line-height:1.3}.learn-hard-sub{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.learn-hard-lapses{color:var(--bad);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:12px}@media (width<=640px){table.learn-table.stack-sm td.num{text-align:right!important}.learn-progress{width:60%;min-width:0}}.learn-hard-lapses.muted{color:var(--wait)}.field-hint code{color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:5px;padding:0 5px;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.banner a{color:inherit;text-underline-offset:2px;font-weight:600;text-decoration:underline}.crash-screen{background:var(--canvas);min-height:100vh;color:var(--text);justify-content:center;align-items:center;padding:24px;display:flex}.crash-card{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:20px;flex-direction:column;align-items:center;gap:12px;width:min(420px,100%);padding:32px 28px;display:flex}.crash-card h3{font-size:20px}.crash-card p{color:var(--muted);margin:0 0 8px;font-size:14px;line-height:1.5}.crash-icon{background:var(--bad-bg);width:52px;height:52px;color:var(--bad);font:800 26px var(--font-heading);border-radius:16px;justify-content:center;align-items:center;display:flex}.err-stats{grid-template-columns:repeat(5,minmax(0,1fr))}@media (width<=1200px){.err-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.err-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.err-stats .stat-card{padding:14px}}.err-status-seg{align-self:flex-start}.err-search{position:relative}.err-search svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.err-search .input{width:100%;padding-left:32px}.filters .err-release-field{flex:0 130px}.err-dot{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.err-dot.fatal{background:var(--bad)}.err-dot.error{background:var(--warn)}.err-dot.warning{background:var(--wait)}.err-chip{white-space:nowrap;background:var(--accent-bg);color:var(--accent-text);border-radius:6px;align-items:center;padding:1px 7px;font-size:11px;display:inline-flex}.err-chip.dim{background:var(--surface2);color:var(--muted);border:1px solid var(--border)}.err-code,.err-culprit{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.err-culprit{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.err-nowrap{white-space:nowrap}table.table.err-table td{vertical-align:middle}table.table.err-table .num{text-align:right;font-variant-numeric:tabular-nums}.err-title-cell{width:100%;min-width:280px;max-width:0}table.table.err-table th,table.table.err-table td{padding-left:12px;padding-right:12px}table.table.err-table td:first-child,table.table.err-table th:first-child{padding-left:16px}.err-title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.err-title-sub{align-items:center;gap:8px;min-width:0;margin-top:4px;display:flex}.err-title-sub>.tag-row{flex-wrap:nowrap;flex:none;gap:4px}.err-title-sub>.err-culprit{flex:auto}.err-back{color:var(--muted);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.err-head{flex-direction:column;gap:10px;min-width:0;display:flex}.err-head-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.err-kicker{color:var(--muted);margin-left:auto;font-size:12px}.err-head-title{overflow-wrap:anywhere;font-size:20px;line-height:1.3}.err-regression{align-items:center;gap:6px;font-size:13px;display:flex}.err-facts{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:4px;display:grid}.err-fact{background:var(--surface2);border-radius:12px;min-width:0;padding:10px 12px}.err-fact-label{color:var(--muted);font-size:12px}.err-fact-value{font:600 15px var(--font-heading);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.err-triage{flex-direction:column;gap:12px;display:flex}.err-triage-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.err-triage-actions{flex-wrap:wrap;gap:8px;display:flex}.err-triage-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:14px;display:grid}.err-triage textarea.input{min-height:72px}.err-charts{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;display:grid}.err-card-title{margin-bottom:12px}.err-hist{align-items:stretch;gap:4px;height:170px;display:flex}.err-hist-col{flex-direction:column;flex:1 1 0;align-items:center;gap:4px;min-width:0;display:flex}.err-hist-col:hover .err-hist-bar{filter:brightness(1.15)}.err-hist-value{height:14px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px}.err-hist-track{border-bottom:1px solid var(--border);flex:1;align-items:flex-end;width:100%;max-width:36px;display:flex}.err-hist-bar{background:var(--accent);border-radius:3px 3px 0 0;width:100%}.err-hist-bar.zero{background:var(--border)}.err-hist-label{height:14px;color:var(--muted);white-space:nowrap;font-size:10px}.err-breakdowns{flex-direction:column;gap:18px;display:flex}.err-breakdown{flex-direction:column;gap:8px;display:flex}.err-breakdown .err-card-title{margin-bottom:2px}.err-share{flex-direction:column;gap:4px;display:flex}.err-share-row{justify-content:space-between;gap:10px;min-width:0;font-size:13px;display:flex}.err-share-row>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.err-share-num{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.err-events{border:1px solid var(--border);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.err-event+.err-event{border-top:1px solid var(--divider)}.err-event.open{background:var(--surface)}.err-event-head{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;min-width:0;padding:12px 16px;display:flex}.err-event-head:hover{background:var(--rowhover)}.err-event-head:focus-visible{outline:2px solid var(--accent-bd);outline-offset:-2px}.err-event-head>svg{color:var(--muted);flex:none}.err-event-msg{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.err-event-msg b{font-weight:600}.err-event-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;max-width:45%;font-size:12px;overflow:hidden}.err-event-body{flex-direction:column;gap:8px;min-width:0;padding:4px 16px 16px;display:flex}.err-kv{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px;margin:0 0 4px;display:grid}.err-kv>div{min-width:0}.err-kv dt{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px}.err-kv dd{overflow-wrap:anywhere;margin:0;font-size:13px}.err-block-title{color:var(--label);margin-top:4px;font-size:12px;font-weight:600}.err-pre{background:var(--surface2);border:1px solid var(--border);color:var(--text);white-space:pre;tab-size:2;border-radius:10px;max-height:360px;margin:0;padding:12px 14px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto}.err-ua{color:var(--muted);overflow-wrap:anywhere;font-size:12px}@media (width<=1000px){.err-charts{grid-template-columns:minmax(0,1fr)}.err-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.err-title-cell{width:auto;min-width:0;max-width:none}.err-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.err-filters .field{max-width:none}.err-filters .filters-search,.err-stats .stat-card:last-child{grid-column:1/-1}.err-title{white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.err-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.err-triage-grid{grid-template-columns:minmax(0,1fr)}.err-kicker{margin-left:0}.err-head-title{font-size:17px}.err-event-head{flex-wrap:wrap;padding:12px 14px}.err-event-msg{flex:calc(100% - 50px)}.err-event-meta{flex:100%;max-width:none;padding-left:41px}.err-event-body{padding:4px 14px 14px}.err-kv{grid-template-columns:repeat(2,minmax(0,1fr))}.err-hist{gap:2px;height:140px}.err-hist-value{font-size:9px}}
