
@font-face { font-family:'Baloo 2'; font-style:normal; font-weight:600 800; font-display:swap; src:url(baloo2-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Baloo 2'; font-style:normal; font-weight:600 800; font-display:swap; src:url(baloo2-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@keyframes rise { from { opacity:0; translate:0 10px; } to { opacity:1; translate:0 0; } }
@keyframes fade { from { opacity:0; } to { opacity:1; } }
@keyframes pop { from { opacity:0; translate:0 8px; scale:.97; } to { opacity:1; translate:0 0; scale:1; } }
:root {
  --bg:#fff4dd; --card:#fffdf7; --card-2:#f1e3c4; --text:#26201a; --soft:#3d352c; --muted:#5c5347; --line:#d5c6ae;
  --ink:#26201a; --accent:#0b6f58; --mint:#a3d9cd; --sun:#ffd84d; --on-mint:#192c26; --code-bg:#26201a; --code-text:#fff4dd;
  --round:'Baloo 2','Arial Rounded MT Bold',system-ui,sans-serif; --mono:ui-monospace,'SF Mono','Cascadia Code',Menlo,Consolas,monospace;
  --top-h:64px; --dock-h:112px;
}
[data-theme='dark'] {
  --bg:oklch(.18 .012 70); --card:oklch(.24 .014 70); --card-2:oklch(.30 .018 72); --text:oklch(.93 .025 80); --soft:oklch(.85 .025 78);
  --muted:oklch(.76 .025 75); --line:oklch(.4 .023 72); --ink:oklch(.08 .005 70); --accent:#a3d9cd; --mint:#a3d9cd; --sun:oklch(.75 .135 82);
  --code-bg:oklch(.13 .01 70); --code-text:oklch(.93 .025 80);
}
.pillbtn { display:inline-flex; align-items:center; justify-content:center; gap:7px; height:40px; padding:0 15px; border-radius:999px; cursor:pointer;
           border:2px solid var(--ink); background:var(--card); font:700 14px/1 var(--round); box-shadow:3px 3px 0 var(--ink);
           transition:transform .1s, box-shadow .1s, background .2s; touch-action:manipulation; }
.pillbtn.round { width:40px; padding:0; }
@media (hover:hover) { .pillbtn:hover { transform:translate(-1px,-1px); box-shadow:4px 4px 0 var(--ink); } }
.pillbtn:active { transform:translate(2px,2px); box-shadow:1px 1px 0 var(--ink); }
.pillbtn:disabled { opacity:.45; cursor:not-allowed; transform:none; box-shadow:1px 1px 0 var(--ink); }
.user { display:flex; justify-content:flex-end; margin:14px 0; animation:pop .32s cubic-bezier(.2,.8,.2,1) both; }
.bubble { max-width:94%; padding:10px 14px; white-space:pre-wrap; overflow-wrap:anywhere; font-size:15.5px; color:#26201a;
          background:var(--mint); border:2px solid var(--ink); border-radius:16px 16px 4px 16px; box-shadow:3px 3px 0 var(--ink); }
.answer { background:var(--card); border:2px solid var(--ink); border-radius:16px; box-shadow:3px 3px 0 var(--ink); padding:12px 15px 6px; }
.tbtn { display:inline-flex; align-items:center; gap:5px; height:30px; padding:0 10px; border-radius:999px; border:1.5px solid var(--line); background:transparent;
        color:var(--muted); font:600 12.5px/1 system-ui,sans-serif; cursor:pointer; transition:background .15s, color .15s, border-color .15s; }
.tbtn:hover { border-color:var(--ink); color:var(--text); }
.tbtn.on { background:var(--mint); border-color:var(--ink); color:#192c26; }
[data-theme='dark'] .answer, [data-theme='dark'] .pillbtn, [data-theme='dark'] .bubble { border-color:var(--text); }
.a { font-size:15.5px; line-height:1.66; overflow-wrap:break-word; }
.a > :first-child { margin-top:0; }
.a p { margin:0 0 12px; }
.a h3, .a h4 { margin:18px 0 8px; font:700 19px/1.25 var(--round); letter-spacing:-.2px; }
.a h4 { font-size:17px; }
.a ul, .a ol { margin:0 0 12px; padding-left:24px; }
.a li { margin:5px 0; }
.a ol > li::marker { font:700 15px var(--round); color:var(--accent); }
.a ul > li::marker { color:var(--accent); }
.a strong { font-weight:700; }
.a hr { border:0; border-top:2px dashed var(--line); margin:16px 0; }
.a a:not(.cite) { color:var(--accent); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.a .lk { color:var(--accent); font-weight:600; }
.a code { font:13.5px/1.5 var(--mono); background:var(--card-2); border:1px solid var(--line); padding:1px 6px; border-radius:6px; }
.a pre { margin:4px 0 14px; background:var(--code-bg); border:2px solid var(--ink); border-radius:12px; overflow:hidden; box-shadow:3px 3px 0 var(--ink); }
.a pre .ph { display:flex; justify-content:space-between; align-items:center; padding:5px 8px 5px 12px; font:12px var(--mono); color:#cbbf9f;
             border-bottom:1px solid rgba(255,244,221,.14); }
.a pre code { display:block; padding:12px 14px; overflow-x:auto; white-space:pre; background:none; border:0; border-radius:0; font-size:13px; color:var(--code-text); }
.copy { background:var(--sun); color:#26201a; border:1.5px solid #26201a; font:700 12px/1 var(--round); padding:5px 10px 4px; border-radius:999px; cursor:pointer; }
.copy:active { transform:translate(1px,1px); }
.a blockquote { margin:0 0 12px; padding:8px 12px; border-left:4px solid var(--accent); background:var(--card-2); border-radius:0 10px 10px 0; }
.a table { display:block; overflow-x:auto; border-collapse:collapse; margin:2px 0 14px; font-size:14px; }
.a th, .a td { border:1.5px solid var(--line); padding:7px 10px; text-align:left; vertical-align:top; }
.a th { background:var(--card-2); font:700 14px var(--round); }
.cite { display:inline-block; min-width:19px; padding:0 5px; margin:0 1px; border-radius:999px; text-decoration:none; text-align:center;
        background:var(--mint); color:#192c26; border:1.5px solid var(--ink); font:700 11px/16px var(--round); vertical-align:2px; transition:background .15s;
        -webkit-user-select:none; user-select:none; }   
.cite:hover { background:var(--sun); }
.cite.video { background:#fff1ec; padding:0 6px 0 3px; }
.cite.video:hover { background:#ffd9cf; }
[data-theme='dark'] .cite.video { background:#ffd3c7; } [data-theme='dark'] .cite.video:hover { background:#ffb4a2; }
.cite.video svg.yt { width:15px; height:11px; margin-right:3px; vertical-align:-1.5px; }
.srcs .k.yt { padding:0; border:0; background:none; display:inline-flex; align-self:center; }
.srcs .k.yt svg.yt { width:24px; height:17px; }
.caret { display:inline-block; width:9px; height:1.05em; margin-left:3px; vertical-align:-2px; border-radius:3px; background:var(--accent);
         animation:caret 1s ease-in-out infinite; }
@keyframes caret { 50% { opacity:.15; } }
.srcs { margin:8px 0 2px; padding:5px; border:2px solid var(--ink); border-radius:14px; background:var(--card); box-shadow:2px 2px 0 var(--ink); animation:fade .25s ease; }
.srcs a { display:flex; gap:8px; align-items:baseline; padding:6px 8px; border-radius:9px; color:var(--text); text-decoration:none; font-size:13px; }
.srcs a:hover { background:var(--card-2); }
.srcs .n { min-width:18px; font:700 12px var(--round); color:var(--accent); }
.srcs .t { flex:1; min-width:0; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-height:1.35; }
.srcs .k { font:700 11px/1 var(--round); padding:3px 8px 2px; border-radius:999px; border:1.5px solid var(--ink); background:var(--mint); color:#192c26; white-space:nowrap; }
.srcs .k.tg { background:#b9e3ff; } .srcs .k.x { background:#e9e1d1; } .srcs .k.code { background:#d7c8ff; } .srcs .k.news { background:var(--sun); }
.srcs .d { font:11px var(--mono); color:var(--muted); white-space:nowrap; }
.a .cite { cursor:pointer; }
.a .cite.on { background:var(--sun); }
.k-talk { --kc:#ffb4a2; } .k-essay { --kc:#a3d9cd; } .k-chat { --kc:#b9e3ff; } .k-post { --kc:#e9e1d1; } .k-code { --kc:#d7c8ff; }
.k-card { --kc:#c8e6a0; } .k-doc { --kc:#e9e1d1; } .k-kip { --kc:#ffc2dc; } .k-research { --kc:#c8e6a0; } .k-news { --kc:#ffd84d; }
.k-live { --kc:#ffd84d; } .k-handbook { --kc:#ffd84d; } .k-word { --kc:#ffe6a3; }
.float { position:fixed; inset:auto; margin:0; padding:0; width:min(400px, calc(100vw - 24px)); overflow:visible;
         background:var(--card); color:var(--text); border:2px solid var(--ink); border-radius:16px; box-shadow:5px 5px 0 var(--ink);
         font:15px/1.5 system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; outline:none; transform-origin:var(--tip, 50%) 0;
         transition:opacity .16s ease, transform .22s cubic-bezier(.2,.8,.2,1), overlay .22s allow-discrete, display .22s allow-discrete; }
.float.above { transform-origin:var(--tip, 50%) 100%; }
.float:not(:popover-open):not(.open) { display:none; opacity:0; transform:translateY(4px) scale(.97); }
.float.open { display:block; }
@starting-style { .float:popover-open, .float.open { opacity:0; transform:translateY(4px) scale(.97); } }
.float::backdrop { background:transparent; }
.float::before { content:''; position:absolute; top:-8px; left:calc(var(--tip, 50%) - 7px); width:12px; height:12px; background:var(--card);
                 border-left:2px solid var(--ink); border-top:2px solid var(--ink); border-radius:3px 0 0 0; transform:rotate(45deg); }
.float.above::before { top:auto; bottom:-8px; transform:rotate(225deg); }
.fl-in { overflow:auto; overscroll-behavior:contain; padding:12px 14px 15px; border-radius:14px; }
.float.sheet { left:0 !important; right:0; top:auto !important; bottom:0; width:auto !important; border-radius:22px 22px 0 0; border-bottom:0;
               box-shadow:0 -3px 0 var(--ink); transform-origin:50% 100%; }
.float.sheet:not(:popover-open):not(.open) { transform:translateY(100%); }
@starting-style { .float.sheet:popover-open, .float.sheet.open { transform:translateY(100%); opacity:1; } }
.float.sheet::before { position:static; display:block; width:44px; height:5px; margin:9px auto 0; border:0; border-radius:99px; background:var(--line); transform:none; }
.float.sheet .fl-in { max-height:78dvh; padding:10px 16px calc(18px + env(safe-area-inset-bottom)); }
.float.sheet::backdrop { background:rgb(24 19 14 / .34); }
.fl-head { display:flex; align-items:center; gap:8px; margin-bottom:9px; }
.fl-kind { display:inline-flex; align-items:center; gap:5px; padding:5px 10px 4px 8px; border-radius:999px; border:1.5px solid var(--ink);
           background:var(--kc, var(--mint)); color:#26201a; font:700 12.5px/1 var(--round); white-space:nowrap; }
.fl-date { font:11.5px var(--mono); color:var(--muted); white-space:nowrap; }
.fl-n { margin-left:auto; min-width:22px; padding:0 6px; text-align:center; border-radius:999px; background:var(--mint); color:#192c26;
        border:1.5px solid var(--ink); font:700 12px/19px var(--round); }
.fl-x { flex:none; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; border:1.5px solid var(--line); background:transparent;
        color:var(--muted); cursor:pointer; transition:border-color .15s, color .15s, background .15s; }
.fl-x:hover { border-color:var(--ink); color:var(--text); }
.fl-head .fl-x:first-child:last-child, .fl-head .fl-kind + .fl-x { margin-left:auto; }
.fl-title { font:700 16px/1.3 var(--round); letter-spacing:-.15px; margin:0 0 10px; overflow-wrap:anywhere; }
.fl-quote { margin:0 0 11px; padding:9px 12px 10px; border-left:4px solid var(--accent); background:var(--card-2); border-radius:0 12px 12px 0; }
.fl-quote p { margin:0; font-size:14.5px; line-height:1.55; overflow-wrap:anywhere; }
.fl-quote p::before { content:'“'; } .fl-quote p::after { content:'”'; }
.fl-quote cite { display:block; margin-top:7px; font:700 12.5px/1.3 var(--round); font-style:normal; color:var(--muted); }
.fl-frame { display:block; width:100%; aspect-ratio:16/9; margin:0 0 2px; border:2px solid var(--ink); border-radius:12px; background:#000;
            animation:fade .3s ease both; }
.fl-acts { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.fl-open, .fl-ask { display:inline-flex; align-items:center; gap:6px; height:36px; padding:0 14px; border-radius:999px; cursor:pointer; text-decoration:none;
                    border:2px solid var(--ink); background:var(--card); color:var(--text); box-shadow:2px 2px 0 var(--ink);
                    font:700 13.5px/1 var(--round); transition:transform .1s, box-shadow .1s; }
.fl-ask { background:var(--mint); color:#192c26; }
@media (hover:hover) { .fl-open:hover, .fl-ask:hover { transform:translate(-1px,-1px); box-shadow:3px 3px 0 var(--ink); } }
.fl-open:active, .fl-ask:active { transform:translate(1px,1px); box-shadow:1px 1px 0 var(--ink); }
.fl-note { font-size:13px; color:var(--muted); }
.fl-term { font:800 21px/1.2 var(--round); letter-spacing:-.3px; margin:0 0 5px; }
.fl-plain { margin:0 0 12px; font-size:15px; line-height:1.55; }
.a .gl { display:inline; margin:0; padding:0; border:0; background:none; color:inherit; font:inherit; letter-spacing:inherit; text-align:inherit;
         cursor:help; border-radius:4px; text-decoration:underline dotted color-mix(in srgb, var(--accent) 75%, transparent);
         text-decoration-thickness:1.6px; text-underline-offset:3.5px; transition:background .15s; -webkit-tap-highlight-color:transparent; }
.a .gl:hover, .a .gl.on { background:color-mix(in srgb, var(--mint) 45%, transparent); }
.a strong .gl { font-weight:700; }
.st { display:inline-block; position:relative; padding:0 .45em 0 1.28em; border-radius:999px; font-weight:650; line-height:1.45; white-space:nowrap; }
.st::before { content:''; position:absolute; left:.5em; top:50%; width:.44em; height:.44em; margin-top:-.22em; border-radius:50%; background:currentColor; }
.st-live { background:color-mix(in srgb, #2f9e6a 15%, transparent); color:#17633f; }
.st-live::before { animation:livedot 2.4s ease-in-out infinite; }
.st-test { background:color-mix(in srgb, #ffd84d 36%, transparent); color:#5e4800; }
.st-plan { background:color-mix(in srgb, #8a7f70 17%, transparent); color:#4d453b; }
[data-theme='dark'] .st-live { color:#86dcae; } [data-theme='dark'] .st-test { color:#ffd84d; background:color-mix(in srgb, #ffd84d 16%, transparent); }
[data-theme='dark'] .st-plan { color:#d6ccbd; background:color-mix(in srgb, #d6ccbd 13%, transparent); }
@keyframes livedot { 50% { box-shadow:0 0 0 .22em color-mix(in srgb, currentColor 22%, transparent); } }
[data-theme='dark'] .float { border-color:var(--text); }
[data-theme='dark'] .float::before { border-color:var(--text); }
[data-theme='dark'] .fl-kind, [data-theme='dark'] .fl-n, [data-theme='dark'] .fl-frame, [data-theme='dark'] .fl-open,
[data-theme='dark'] .fl-ask { border-color:var(--text); }
@media (prefers-reduced-motion:reduce) {
  .float, .fl-open, .fl-ask, .fl-frame { transition:none !important; animation:none !important; }
  .st-live::before { animation:none; }
}
.vplayer { position:fixed; z-index:45; left:12px; top:80px; width:min(560px, calc(100vw - 24px)); padding:10px 12px 12px; background:var(--card);
           border:2px solid var(--ink); border-radius:18px; box-shadow:5px 5px 0 var(--ink); transform-origin:0 0; touch-action:manipulation;
           transition:transform .55s cubic-bezier(.45,.05,.2,1), background-color .35s, border-color .35s, box-shadow .35s; }
.vplayer.calm { transition:none; }
.vplayer.shown { animation:pop .3s cubic-bezier(.2,.8,.2,1); }
.vplayer.mini { background-color:transparent; border-color:transparent; box-shadow:none; cursor:pointer; touch-action:none; }
.vplayer { transition:transform .55s cubic-bezier(.45,.05,.2,1), background-color .35s, border-color .35s, box-shadow .35s, opacity .25s; }
.vplayer .vp-head, .vplayer .vp-grip { transition:opacity .25s; }
.vplayer.mini .vp-head, .vplayer.mini .vp-grip { opacity:0; pointer-events:none; }
.vplayer.mini .fl-frame { pointer-events:none; border-color:transparent; clip-path:inset(0 round var(--mr, 40px)); }
.vplayer .fl-frame { margin:0; }
.vp-head { display:flex; align-items:center; gap:8px; margin:-4px -4px 8px; padding:4px; border-radius:12px; cursor:grab; touch-action:none;
           -webkit-user-select:none; user-select:none; }
.vp-head .vp-gap { margin-left:auto; }
@media (hover:hover) { .vp-head:hover { background:var(--card-2); } }
.vplayer.dragging { cursor:grabbing; box-shadow:9px 9px 0 var(--ink); }
.vplayer.dragging .vp-head { cursor:grabbing; }
.vplayer.dragging .fl-frame, .vplayer.resizing .fl-frame { pointer-events:none; }
.vp-grip { position:absolute; right:2px; bottom:2px; width:24px; height:24px; cursor:nwse-resize; touch-action:none; border-radius:0 0 14px 0;
           background:linear-gradient(135deg, transparent 52%, var(--ink) 52%, var(--ink) 58%, transparent 58%, transparent 68%, var(--ink) 68%, var(--ink) 74%, transparent 74%); opacity:.55; }
.vp-grip:hover, .vplayer.resizing .vp-grip { opacity:1; }
.vmini { width:auto; padding:0 3px; border-radius:12px; animation:none; }
.vmini.pop { animation:fade .35s ease both; }   
.vm-box { display:block; width:60px; height:34px; border-radius:8px; overflow:hidden; background:#000; }
.vm-thumb { display:block; width:100%; height:100%; object-fit:cover; opacity:.85; }
.vmini-corner { position:fixed; right:14px; bottom:calc(14px + env(safe-area-inset-bottom)); z-index:46; }
[data-theme='dark'] .vplayer, [data-theme='dark'] .vm-thumb { border-color:var(--text); }
@media (prefers-reduced-motion:reduce) { .vplayer.shown, .vmini.pop { animation:none !important; } .vplayer { transition:none; } }
.vtrash { position:fixed; left:50%; bottom:calc(var(--dock-h, 0px) + 22px + env(safe-area-inset-bottom)); z-index:44; width:64px; height:64px;
          margin-left:-32px; border-radius:50%; display:grid; place-items:center; color:var(--text); background:var(--card);
          border:2.5px solid var(--ink); box-shadow:3px 3px 0 var(--ink); opacity:0; transform:translateY(30px) scale(.7); pointer-events:none;
          transition:opacity .2s, transform .25s cubic-bezier(.2,.8,.2,1), background-color .15s, color .15s; }
.vtrash.on { opacity:1; transform:none; }
.vtrash.armed { background:#ec3b2b; color:#fff; transform:scale(1.22); }
.vtrash .lid { transform-origin:15px 6px; transition:transform .2s; }
.vtrash.armed .lid { transform:rotate(-24deg) translate(-1px, -2px); }
.vtrash.gulp { animation:gulp .5s cubic-bezier(.3,.7,.2,1); }
@keyframes gulp { 30% { transform:scale(1.35); } 60% { transform:scale(.9); } 100% { transform:scale(1); opacity:0; } }
[data-theme='dark'] .vtrash { border-color:var(--text); }
.a .lchip { display:inline-flex; align-items:center; gap:5px; max-width:100%; padding:0 9px 0 6px; border:1.5px solid var(--line);
            border-radius:999px; background:var(--card-2); color:var(--accent); font-weight:600; font-size:.9em; line-height:1.7;
            text-decoration:none; vertical-align:baseline; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.a .lchip .lci { display:inline-grid; place-items:center; flex:none; }
.a .lchip .lci svg { width:12px; height:12px; display:block; }
.a .lchip .lct { overflow:hidden; text-overflow:ellipsis; }
.a a.lchip { text-decoration:none; }   
.a a.lchip:hover { border-color:var(--accent); }
            border-radius:14px; background:var(--card); box-shadow:2px 2px 0 var(--ink); color:var(--text); text-decoration:none;
            font-weight:700; line-height:1.3; }
.a code.addr { cursor:copy; white-space:nowrap; }
.a code.addr.copied { background:var(--mint); }
.a li.wrow { margin:9px 0; }
.a .wbox { display:inline-flex; flex-wrap:wrap; align-items:center; gap:6px 8px; vertical-align:top; max-width:100%; }
.a .wl { display:inline-flex; align-items:center; gap:5px; padding:4px 10px 3px 7px; border-radius:999px; border:1.5px solid var(--ink);
         background:var(--wc, #e9e1d1); color:#26201a; font:700 13px/1.1 var(--round); white-space:nowrap; }
.a .wl svg { width:14px; height:14px; flex:none; margin-top:-1px; }
.a .w-exchange { --wc:#b9e3ff; } .a .w-pool { --wc:#c8e6a0; } .a .w-fund { --wc:#ffd84d; }
.a .w-warn, .a .w-burn { --wc:#ffb4a2; } .a .w-unknown { --wc:#e9e1d1; } .a .w-named { --wc:#d7c8ff; }
.a .wamt { font-weight:700; white-space:nowrap; }
.a .wpct { padding:3px 7px 2px; border-radius:7px; background:var(--card-2); color:var(--soft); font:700 12px/1.1 var(--mono); white-space:nowrap; }
.a li.wrow .waddr { font-size:.82em; }
.a li.wrow .waddr .lct { font-family:var(--mono); font-weight:600; letter-spacing:-.2px; }
[data-theme='dark'] .a .wl { border-color:var(--text); }
