@font-face{font-family:Sora;font-weight:200;font-display:swap;src:url(/fonts/sora-latin-200-normal.woff2)format("woff2")}@font-face{font-family:Sora;font-weight:400;font-display:swap;src:url(/fonts/sora-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Sora;font-weight:600;font-display:swap;src:url(/fonts/sora-latin-600-normal.woff2)format("woff2")}@font-face{font-family:Sora;font-weight:800;font-display:swap;src:url(/fonts/sora-latin-800-normal.woff2)format("woff2")}:root{--bg:#f6f7fa;--surface:#fff;--ink:#0e1330;--text:#2a3150;--muted:#5b6279;--line:#dfe2ea;--soft:#eef0f6;--panel:#0e1330;--cyan:#22d3ee;--blue:#3b6bff;--violet:#a855f7;--link:#2f5bea;--field-line:#868d9f;--accent:linear-gradient(90deg, var(--cyan), var(--blue) 55%, var(--violet));--ok:#117a4b;--ok-bg:#e6f6ee;--warn:#8a5a00;--warn-bg:#fff4d6;--danger:#b42318;--danger-bg:#fff1f0;--focus:#3b6bff;--radius:14px;--font:"Sora", system-ui, -apple-system, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{font:400 .9375rem/1.6 var(--font);color:var(--text);background:var(--bg);margin:0}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:var(--link)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{min-height:2.75rem;font:600 .9375rem var(--font);cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;text-decoration:none;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}.btn--ink{background:var(--ink);color:#fff}.btn--ink:hover{background:#1b2350}.btn--ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn--ghost:hover{border-color:var(--ink)}.btn--danger{color:var(--danger);background:0 0;border-color:#f3c7c3}.btn--small{min-height:2.25rem;padding:.35rem .9rem;font-size:.875rem}.btn[disabled],.btn[aria-busy=true]{opacity:.6;cursor:default}.field{gap:.35rem;display:grid}.field label{color:var(--ink);font-size:.875rem;font-weight:600}.field .hint{color:var(--muted);font-size:.8125rem}.input,.field input,.field textarea,.field select{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--field-line);border-radius:10px;padding:.65rem .8rem}.field textarea{resize:vertical;min-height:7rem;line-height:1.55}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #3b6bff2e}.field [aria-invalid=true]{border-color:var(--danger)}.form{gap:1.1rem;display:grid}.alert{border-radius:10px;padding:.75rem 1rem;font-size:.875rem}.alert--error{background:var(--danger-bg);color:#8a1c14}.alert--ok{background:var(--ok-bg);color:var(--ok)}.alert--warn{background:var(--warn-bg);color:var(--warn)}.auth{background:var(--bg);place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.auth__card{background:var(--surface);border:1px solid var(--line);border-radius:22px;width:min(26rem,100%);padding:clamp(1.5rem,5vw,2.5rem);box-shadow:0 24px 60px -40px #0e133073}.auth__logo{width:6.5rem;height:auto;margin-bottom:1.75rem;display:block}.auth__card h1{letter-spacing:-.02em;color:var(--ink);font-size:1.5rem;font-weight:800}.auth__intro{color:var(--muted);margin:.5rem 0 1.5rem}.auth__foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:1.5rem;font-size:.8125rem;display:flex}.auth__qr{border:1px solid var(--line);border-radius:12px;margin:.25rem auto 1rem;display:block}.secret{letter-spacing:.06em;word-break:break-all;background:var(--soft);border-radius:8px;padding:.5rem .7rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8125rem}.codes{color:var(--ink);background:var(--soft);border-radius:12px;grid-template-columns:1fr 1fr;gap:.4rem .8rem;margin:1rem 0 1.5rem;padding:1rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9375rem;display:grid}.langs{gap:.25rem;display:flex}.langs a{color:var(--muted);border-radius:6px;padding:.2rem .4rem;font-size:.75rem;font-weight:600;text-decoration:none}.langs a[aria-current=page]{color:var(--ink);background:var(--soft)}.auth .secret{margin-bottom:1.25rem}.h2{color:var(--ink);margin-top:.5rem;font-size:1.125rem;font-weight:800}.shell{grid-template-columns:16rem minmax(0,1fr);min-height:100vh;display:grid}.shell__side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:1.5rem;height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.shell__brand{color:var(--muted);align-items:baseline;gap:.6rem;padding:0 .5rem;font-size:.8125rem;font-weight:600;text-decoration:none;display:flex}.shell__brand img{width:6rem;height:auto}.nav{gap:.15rem;display:grid}.nav__link{color:var(--text);border-radius:10px;padding:.55rem .75rem;font-size:.9375rem;font-weight:600;text-decoration:none;display:block}.nav__link:hover{background:var(--soft)}.nav__link[aria-current=page]{background:var(--ink);color:#fff}.shell__user{gap:.75rem;margin-top:auto;padding:0 .5rem;font-size:.875rem;display:grid}.shell__main{width:100%;max-width:72rem;padding:clamp(1.25rem,3vw,2.5rem)}@media (max-width:860px){.shell{grid-template-columns:1fr}.shell__side{border-right:0;border-bottom:1px solid var(--line);flex-direction:column;gap:.75rem;height:auto;position:static}.nav{flex-wrap:wrap;gap:.25rem;display:flex}.shell__user{justify-content:space-between;align-items:center;margin-top:0;display:flex}}.muted{color:var(--muted)}.small{font-size:.8125rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.page-head h1{letter-spacing:-.02em;color:var(--ink);font-size:clamp(1.5rem,1.2rem + 1vw,2rem);font-weight:800}.page-head p{color:var(--muted);max-width:46rem;margin-top:.35rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.card h2{color:var(--ink);margin-bottom:.75rem;font-size:1.0625rem;font-weight:800}.grid{gap:1rem;display:grid}.grid--3{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.grid--2{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}.stat__num{color:var(--ink);letter-spacing:-.03em;font-size:2.5rem;font-weight:200;line-height:1.1}.stat__label{color:var(--muted);font-size:.875rem}.badge{background:var(--soft);color:var(--text);white-space:nowrap;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.badge--ok{background:var(--ok-bg);color:var(--ok)}.badge--warn{background:var(--warn-bg);color:var(--warn)}.badge--new{color:#2447c9;background:#e8eeff}.check{gap:.5rem;display:grid}.check li{align-items:baseline;gap:.6rem;display:flex}.check li:before{content:"○";color:var(--muted)}.check li.done:before{content:"●";color:var(--ok)}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.65rem .5rem}.table th{color:var(--muted);text-transform:none;font-size:.75rem;font-weight:600}.table-wrap{overflow-x:auto}.row-actions{flex-wrap:wrap;gap:.4rem;display:flex}.entry{gap:.5rem;display:grid}.entry__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.entry__body{white-space:pre-wrap;color:var(--text)}details.edit>summary{cursor:pointer;color:var(--link);font-size:.875rem;font-weight:600;list-style:none}details.edit[open]>summary{margin-bottom:.75rem}.code{background:var(--panel);color:#e9ecf7;white-space:pre;border-radius:10px;padding:.9rem 1rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8125rem;overflow-x:auto}.checkboxes{flex-wrap:wrap;gap:1rem;display:flex}.checkboxes label{align-items:center;gap:.4rem;font-weight:400;display:inline-flex}.transcript{gap:.6rem;display:grid}.bubble{white-space:pre-wrap;border-radius:14px;max-width:80%;padding:.6rem .85rem}.bubble--visitor{background:var(--ink);color:#fff;border-bottom-right-radius:4px;justify-self:end}.bubble--assistant{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:4px;justify-self:start}.stack{gap:1rem;display:grid}fieldset{border:0;min-width:0;margin:0;padding:0}.label{color:var(--ink);font-size:.875rem;font-weight:600}.field input[type=color]{height:2.75rem;padding:.2rem}.row-actions .input{flex:1;min-width:12rem}
