@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--bg:#0b0f14;--surface:rgba(20,22,26,.72);--surface-2:rgba(30,32,36,.72);--border:#1f2937;--text:#e5e7eb;--muted:#9ca3af;--primary:#60a5fa;--primary-600:#2563eb;--success:#34d399;--danger:#f87171;--warn:#f59e0b;--blue:#3b82f6;--shadow-1:0 10px 30px rgba(0,0,0,.35);--radius:14px;--radius-sm:10px;--ring:0 0 0 2px rgba(96,165,250,.35);--w-card:240px;--h-card:160px}*{box-sizing:border-box}html,body{height:100%}body{color:var(--text);background:radial-gradient(1200px 800px at 20% -10%,rgba(37,99,235,.25),transparent 60%),radial-gradient(800px 600px at 100% 0%,rgba(16,185,129,.2),transparent 50%),var(--bg);justify-content:center;align-items:flex-start;min-height:100vh;margin:0;padding:24px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:flex}.container{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);width:100%;max-width:980px;box-shadow:var(--shadow-1);padding:24px}header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.title{letter-spacing:.2px;font-size:20px;font-weight:600}.sub{color:var(--muted);font-size:13px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}textarea,input[type=text],input[type=number],select{width:100%;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:12px 14px;transition:box-shadow .15s,border-color .15s}textarea:focus,input:focus,select:focus{box-shadow:var(--ring);border-color:var(--primary)}textarea{resize:vertical;min-height:140px}.controls{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;margin-bottom:12px;display:grid}@media (max-width:600px){.controls{grid-template-columns:1fr}}.controls .row{gap:8px}.btn{border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--text);background:linear-gradient(rgba(255,255,255,.06),rgba(255,255,255,0));border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-weight:500;transition:transform 50ms,background .2s,border-color .2s;display:inline-flex}.btn:hover{border-color:#2b3443}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(rgba(96,165,250,.25),rgba(96,165,250,.14));border-color:rgba(96,165,250,.45)}.btn.destructive{background:linear-gradient(rgba(248,113,113,.28),rgba(248,113,113,.12));border-color:rgba(248,113,113,.45)}.btn.ghost{background:0 0}.btn:disabled{opacity:.6;cursor:not-allowed}section[aria-label=Input]{margin-top:10px}.error{color:var(--danger);min-height:20px;margin-top:8px;font-size:14px}#deckView{flex-direction:column;gap:12px;margin-top:24px;display:flex}.deck-item{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:16px;transition:border-color .2s,background-color .2s;display:flex;position:relative}.deck-item:hover{border-color:#2b3443}.deck-title-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.deck-item-info .name{margin-bottom:0;font-weight:600}.deck-item-info .name .demo-text{color:var(--muted);margin-left:6px;font-size:.9em;font-weight:500}.deck-item-info .stats{color:var(--muted);align-items:center;font-size:13px;display:inline-flex}.deck-item-actions{align-items:center;gap:8px;display:flex}.icon-btn{background:0 0;border:1px solid transparent;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;display:grid}.icon-btn:hover{border-color:var(--border);background:rgba(255,255,255,.06)}.icon-btn.destructive:hover{color:var(--danger);background:rgba(248,113,113,.15);border-color:rgba(248,113,113,.45)}.icon-btn svg{width:16px;height:16px}.spinner{vertical-align:-.125em;border:.2em solid;border-right-color:transparent;border-radius:50%;width:1em;height:1em;margin-right:4px;animation:.75s linear infinite spinner-border;display:inline-block}@keyframes spinner-border{to{transform:rotate(360deg)}}.card{perspective:1000px;width:100%;position:relative}.cardInner{transform-style:preserve-3d;box-shadow:var(--shadow-1);border-radius:12px;transition:transform .55s,opacity .2s;position:absolute;top:0;bottom:0;left:0;right:0}.card.flipped .cardInner{transform:rotateY(180deg)}.card.transitioning .cardInner{opacity:0;transform:scale(.98)rotateY(0)!important}.side{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:12px;position:absolute;top:0;bottom:0;left:0;right:0}.back{transform:rotateY(180deg)}.term{text-align:center;font-size:18px;font-weight:600}.def{color:var(--muted);text-align:center;font-size:15px;line-height:1.35}.toolbar{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.overlay{z-index:40;background:rgba(11,15,20,.85);place-items:center;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.overlay.visible{display:grid}.focusWrap{border:1px solid var(--border);border-radius:var(--radius);width:min(760px,94vw);height:min(92vh,820px);box-shadow:var(--shadow-1);background:#15181e;grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;gap:8px 18px;padding:12px;transition:grid-template-columns .35s,width .35s;display:grid;position:relative}.focusTop{grid-row:1;justify-content:center;align-items:center;gap:10px;padding:0 4px;display:flex}.focusCardContainer{z-index:1;grid-row:2;width:100%;height:100%;min-height:0;transition:filter .35s,transform .35s,opacity .35s;position:relative}.focusCard{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.focusTop{z-index:3;position:relative}.metaProgress{color:var(--muted);text-shadow:0 1px 3px rgba(0,0,0,.5);font-size:13px}.focusLeft{align-items:center;gap:8px;display:flex}.focusTerm{text-align:center;font-size:max(22px,min(3.2vw,30px));font-weight:700}.focusDef{color:var(--muted);text-align:left;font-size:max(16px,min(2.2vw,20px));line-height:1.5}.kbd{border:1px solid var(--border);background:rgba(255,255,255,.08);border-radius:6px;padding:0 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px}.muted{color:var(--muted);font-size:13px}.focusTop .muted{font-size:12px}.pill{border:1px solid var(--border);color:var(--muted);background:rgba(255,255,255,.06);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.pill select{margin-left:8px}.hidden{display:none!important}.quickstart{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.quickstart .chip{border:1px solid var(--border);color:var(--text);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:rgba(255,255,255,.06);border-radius:999px;padding:4px 10px;font-size:12px;transition:background .2s,border-color .2s}.quickstart .chip:hover{background:rgba(255,255,255,.12);border-color:#2b3443}.quickstart .kbd-hint{color:var(--muted);margin-left:auto;font-size:12px}.tutorPanel{z-index:10;pointer-events:none;opacity:0;flex-direction:column;gap:12px;min-height:0;padding:12px;transition:transform .3s,opacity .3s;display:flex}@media (max-width:1023px){.focusWrap.tutor-active .focusCardContainer{filter:blur(8px)brightness(.6);opacity:.8;pointer-events:auto;transform:scale(.95)}.focusWrap.tutor-active .focusBottomBar{opacity:0;pointer-events:none}.tutorPanel{-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius);height:calc(80% - 8px);max-height:600px;padding-bottom:calc(12px + var(--safe-b));background:rgba(30,32,36,.65);position:absolute;bottom:8px;left:8px;right:8px;transform:translateY(20px)scale(.98)}.focusWrap.tutor-active .tutorPanel{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.focusWrap.tutor-fullscreen .focusCardContainer,.focusWrap.tutor-fullscreen .focusBottomBar,.focusWrap.tutor-fullscreen .focusTop{display:none}.focusWrap.tutor-fullscreen .tutorPanel{opacity:1;background:rgba(30,32,36,.95);width:auto;height:auto;max-height:none;position:absolute;top:8px;bottom:8px;left:8px;right:8px;transform:none}}@media (min-width:1024px){.focusWrap.tutor-active{grid-template-columns:1fr 400px;gap:0;width:min(1200px,94vw);padding:0}.focusWrap.tutor-active .focusTop,.focusWrap.tutor-active .focusCardContainer{padding-left:0;padding-right:0}.focusWrap.tutor-active .focusTop{padding-top:0}.focusWrap.tutor-active .tutorPanel{opacity:1;pointer-events:auto;background:var(--surface);border-left:1px solid var(--border);border-radius:0 var(--radius)var(--radius)0;grid-area:1/2/-1;height:100%;position:relative;transform:none}.focusWrap.tutor-active .tutor-trigger,.focusWrap.tutor-active #btnTutorFullscreen{display:none}}.tutorHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.tutor-header-actions{align-items:center;gap:4px;display:flex}.tutorHeader h3{align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;display:inline-flex}.tutorHeader h3 svg{width:20px;height:20px;color:var(--primary)}.tutorHistory{flex-direction:column;flex:auto;gap:16px;min-height:0;padding-right:10px;display:flex;overflow-y:auto}.tutorShortcuts{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:4px;padding-top:12px;display:flex}.tutorShortcuts .chip{border:1px solid var(--primary-600);color:var(--primary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:rgba(37,99,235,.2);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500;transition:background .2s,border-color .2s}.tutorShortcuts .chip:hover{border-color:var(--primary);background:rgba(37,99,235,.35)}.focusCard .side{border:1px solid var(--border);background:linear-gradient(rgba(255,255,255,.06),rgba(255,255,255,0));flex-direction:column;justify-content:flex-start;align-items:stretch;padding:24px;display:flex;overflow:auto}.side.front{justify-content:center;align-items:center}.side.back{justify-content:center}.focusTerm,.focusDef{overflow-wrap:anywhere;word-break:break-word;line-height:1.5}.focusDef>*{margin:0 0 .6em}.focusDef ul,.focusDef ol{margin:0 0 .6em 20px}.focusTerm h1,.focusTerm h2,.focusTerm h3,.focusTerm h4,.focusTerm h5,.focusTerm h6,.focusDef h1,.focusDef h2,.focusDef h3,.focusDef h4,.focusDef h5,.focusDef h6{font-size:1em;font-weight:inherit;margin:0}.tutorHistory::-webkit-scrollbar{width:8px}.tutorHistory::-webkit-scrollbar-track{background:0 0}.tutorHistory::-webkit-scrollbar-thumb{background-color:var(--surface-2);border-radius:4px}.tutorHistory::-webkit-scrollbar-thumb:hover{background-color:var(--border)}.tutorHistory .msg{border-radius:14px;max-width:90%;padding:4px 10px;line-height:1.5}.msg.user{background:var(--primary-600);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.msg.model{background:var(--surface-2);border-bottom-left-radius:4px;align-self:flex-start}.msg.error{background-color:var(--danger)}.tutorInputRow{align-items:flex-end;gap:10px;margin-top:auto;display:flex}#tutorInput{min-height:50px;max-height:150px}#btnTutorSend{height:50px}.loading-indicator{align-self:flex-end;gap:5px;padding:12px 16px;display:flex}.loading-indicator span{background-color:var(--muted);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both bounce}.loading-indicator span:first-child{animation-delay:-.32s}.loading-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}pre{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;line-height:1.6;overflow-x:auto}code{background:rgba(255,255,255,.1);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9em}pre code{font-size:inherit;background:0 0;border-radius:0;padding:0}blockquote{border-left:3px solid var(--primary);color:var(--muted);margin-left:0;padding-left:1em}@media (prefers-reduced-motion:reduce){.cardInner,.btn,.focusWrap,.tutorPanel{transition:none}}@media (max-width:768px){body{padding:0}.container{box-shadow:none;background:0 0;border:none;padding:16px}.desktop-only-hint{display:none}.focusWrap{border-radius:0;gap:0;width:100vw;height:100dvh;padding:0}.focusTerm{font-size:max(20px,min(5.5vw,28px))}.focusDef{font-size:max(15px,min(4.2vw,18px))}.focusTop .btn{padding:6px 8px;font-size:13px}}:root{--safe-b:env(safe-area-inset-bottom,0px)}.focusBottomBar{z-index:4;padding:16px;padding-bottom:calc(16px + var(--safe-b));-webkit-backdrop-filter:blur(8px);background:linear-gradient(rgba(21,24,30,0) 0%,rgba(21,24,30,.8) 45%);justify-content:space-between;align-items:flex-end;gap:16px;transition:opacity .35s;display:flex;position:absolute;bottom:0;left:0;right:0}.focus-meta-left{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.deck-info-row{align-items:baseline;gap:12px;display:flex}.metaDeckName{text-shadow:0 1px 3px rgba(0,0,0,.5);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:14px;font-weight:500;overflow:hidden}.tutor-trigger{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;font-size:13px;transition:border-color .2s,background-color .2s;display:inline-flex}.tutor-trigger:hover{background-color:#262930;border-color:#383c46}.tutor-trigger svg{flex-shrink:0}.bottom-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.bottom-actions .icon-btn{background:rgba(255,255,255,.05);border:none;border-radius:50%;width:44px;height:44px}.bottom-actions .icon-btn svg{width:22px;height:22px}.bottom-actions #railMark{color:var(--text);opacity:.6;transition:color .2s,opacity .2s}.bottom-actions #railMark.marked{color:var(--warn);opacity:1}.focusCardContainer{touch-action:pan-y}.focusCard.swipe-out-up{animation:.4s cubic-bezier(.4,0,.2,1) forwards swipeOutUp}.focusCard.swipe-in-up{animation:.4s cubic-bezier(.4,0,.2,1) forwards swipeInUp}@keyframes swipeOutUp{to{transform:translateY(-105%)}}@keyframes swipeInUp{0%{transform:translateY(105%)}to{transform:translateY(0%)}}.focusCard.swipe-out-down{animation:.4s cubic-bezier(.4,0,.2,1) forwards swipeOutDown}.focusCard.swipe-in-down{animation:.4s cubic-bezier(.4,0,.2,1) forwards swipeInDown}@keyframes swipeOutDown{to{transform:translateY(105%)}}@keyframes swipeInDown{0%{transform:translateY(-105%)}to{transform:translateY(0%)}}@media (max-width:768px){.focusWrap.feed .focusTop{display:none}}
