@import "https://fonts.googleapis.com/css2?family=Comic+Neue:wght@400;700&family=Gaegu:wght@400;700&family=Quicksand:wght@500;600;700&display=swap";
:root{--bg:#fffbea;--surface:#fffef7;--ink:#4a3b2a;--ink-soft:#a08c6a;--line:#f3e8c4;--banana:#ffd23b;--banana-deep:#e0a500;--banana-soft:#fff3c4;--green:#a7abef;--green-deep:#5b62d0;--brown:#8b5a2b;--on-primary:#43342a;--gold:#e0a500;--pink:#ffd23b;--pink-deep:#e0a500;--pink-soft:#fff3c4;--neon-pink:#a7abef;--neon-cyan:#ffe066;--purple:#fff3c4;--purple-deep:#8b5a2b;--teal:#ffd23b;--teal-deep:#e0a500;--coral:#a7abef;--coral-soft:#edeefb;--shadow:0 18px 48px #e0a50033;--shadow-card:0 10px 30px #e0a50024;--radius:20px;--hand:"Comic Neue", "Gaegu", "Comic Sans MS", "Chalkboard SE", "Marker Felt", cursive;--ui:"Comic Neue", "Quicksand", "Gaegu", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--dot:#f1e3ac;--r-card:18px 15px 21px 14px / 16px 20px 14px 21px;--r-btn:18px 15px 19px 14px / 15px 19px 14px 18px;--r-sm:13px 11px 14px 10px / 11px 14px 10px 13px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(var(--dot) 1.4px, transparent 1.5px) 0 0 / 28px 28px, var(--bg);color:var(--ink);font-family:var(--ui);font-synthesis:none;word-break:keep-all;min-height:100vh;font-weight:500}button,a{font:inherit;color:inherit}html{scrollbar-width:thin;scrollbar-color:#e6d28c transparent}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#e6d28c padding-box padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--banana-deep)}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:#fff7f4d6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{font-size:28px}.brand-mark-img{border-radius:9px;flex:none;width:34px;height:34px}.brand h1{font-family:var(--hand);margin:0;font-size:25px;font-weight:700;line-height:1}.tagline{color:var(--ink-soft);margin:3px 0 0;font-size:13px;font-weight:600}.tagline strong{color:var(--green-deep)}.container{max-width:920px;margin:0 auto;padding:32px 24px 64px}.studio-page{min-height:100vh;color:var(--ink);padding:36px 20px 80px}.studio-shell{width:min(100%,448px);margin:0 auto}.studio-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.studio-kicker{color:var(--green-deep);margin:0;font-size:14px;font-weight:700}.studio-title{color:#4a3b2a;font-family:var(--hand);letter-spacing:0;margin:4px 0 0;font-size:42px;font-weight:700;line-height:.98}.studio-intro{color:#a08c6a;margin:10px 0 0;font-size:15.5px;font-weight:600;line-height:1.65}.studio-account{color:#a08c6a;border:2px solid var(--line);background:#ffffffbf;border-radius:999px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;margin-top:2px;text-decoration:none;transition:border-color .18s,transform .18s;display:flex;overflow:hidden;box-shadow:0 4px 12px #e0a5001f}.studio-account:hover{border-color:var(--banana-deep);transform:translateY(-1px)}.studio-account img{object-fit:cover;width:100%;height:100%}.studio-account span{font-size:15px;font-weight:700}.studio-account.text-account{border-radius:var(--r-btn);color:#fff;background:linear-gradient(#ffe066,#ffd23b);width:auto;min-width:66px;padding:0 13px;box-shadow:0 10px 20px #e0a5003d}.studio-auth-actions{gap:9px;margin-top:20px;display:flex}.studio-tools{gap:14px;margin-top:28px;display:grid}.target-lang-picker{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.tlp-label{color:var(--ink-soft);font-size:13px;font-weight:700}.studio-tool-card{width:100%;color:inherit;text-align:left;border:2px solid var(--line);cursor:pointer;background:#ffffffbf;border-radius:18px 15px 20px 14px/16px 19px 14px 20px;align-items:center;gap:16px;padding:16px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;box-shadow:0 8px 24px #e0a50021}.studio-tool-card:hover{border-color:var(--banana);transform:translateY(-2px);box-shadow:0 12px 28px #e0a5002e}.studio-tool-card:active{transform:translateY(0)scale(.99)}.studio-tool-icon{text-align:center;flex:none;width:36px;font-size:30px;line-height:1}.studio-tool-copy{flex:1;min-width:0;display:block}.studio-tool-title{color:var(--banana-deep);font-family:var(--hand);font-size:21px;font-weight:700;line-height:1.05;display:block}.studio-tool-desc{color:#a08c6a;margin-top:4px;font-size:13.5px;font-weight:600;line-height:1.4;display:block}.studio-tool-badge{color:#a08c6a;border:1.5px solid var(--line);white-space:nowrap;background:#fff3c4;border-radius:999px;flex:none;padding:4px 8px;font-size:11.5px;font-weight:700}.studio-tool-arrow{color:#e6d28c;flex:none;font-size:21px;line-height:1}.workspace-page{min-height:100vh;color:var(--ink);padding:28px 20px 72px}.workspace-shell{width:min(100%,920px);margin:0 auto}.workspace-back{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;margin-bottom:12px;padding:0;font-size:14px;font-weight:700;text-decoration:none;transition:color .18s;display:inline-block}.workspace-back:hover{color:var(--banana-deep)}.workspace-head{align-items:center;gap:14px;margin-bottom:18px;display:flex}.workspace-icon{border:2px solid var(--line);background:#ffffffbf;border-radius:16px 13px 17px 12px/14px 17px 12px 16px;flex:none;place-items:center;width:48px;height:48px;font-size:27px;display:grid;box-shadow:0 6px 18px #e0a5001f}.workspace-head h1{color:#4a3b2a;font-family:var(--hand);margin:0;font-size:34px;font-weight:700;line-height:1}.workspace-head p{color:#a08c6a;margin:4px 0 0;font-size:14px;font-weight:600;line-height:1.5}.paywall-card{text-align:center;max-width:560px;margin:0 auto}.paywall-emoji{font-size:42px}.paywall-card h3{color:var(--banana-deep);font-family:var(--hand);margin:8px 0 10px;font-size:28px;line-height:1}.paywall-link{margin-top:14px}.btn{border-radius:var(--r-btn);cursor:pointer;border:none;padding:10px 18px;font-size:14px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s,filter .18s}.btn-primary{color:#fff;background:linear-gradient(#ffe066,#ffd23b);box-shadow:0 12px 24px #e0a50057}.btn-primary:hover{transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)scale(.98)}.primary-btn{color:#fff;border-radius:var(--r-btn);cursor:pointer;background:linear-gradient(#ffe066,#ffd23b);border:none;width:100%;margin-top:16px;padding:14px;font-size:15px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s;box-shadow:0 12px 24px #e0a50057}.primary-btn:hover{transform:translateY(-2px)}.primary-btn:active{transform:translateY(0)scale(.98)}.primary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-ghost{color:var(--ink);border:2px solid var(--line);background:#fff;box-shadow:0 4px #e0a5001a}.btn-ghost:hover{transform:translateY(-2px)}.btn-danger{color:#fff;background:#e8584a;box-shadow:0 12px 24px #c0392b42}.btn-danger:hover{transform:translateY(-2px)}.btn-danger:active{transform:translateY(0)scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.badge{border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge-premium{color:#a9781f;background:#fdf3e0}.badge-free{background:var(--line);color:var(--ink-soft)}.card{border:2px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);background:#ffffffd1;padding:24px}.feature-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:24px;display:grid}.feature-card{border:2px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);background:#ffffffd1;padding:22px}.feature-card .emoji{font-size:30px}.feature-card h3{font-family:var(--hand);margin:8px 0 4px;font-size:22px;font-weight:700;line-height:1}.feature-card p{color:var(--ink-soft);margin:0;font-size:14px;font-weight:500;line-height:1.55}.muted{color:var(--ink-soft);font-size:14px;font-weight:500;line-height:1.6}.plans{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:24px;display:grid}.plan{border:2px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);background:#ffffffd1;padding:24px}.plan.featured{border:2.5px solid var(--banana);box-shadow:var(--shadow)}.plan h3{font-family:var(--hand);margin:0 0 4px;font-size:26px;font-weight:700;line-height:1}.price{font-family:var(--hand);margin:8px 0;font-size:32px;font-weight:700}.price small{color:var(--ink-soft);font-size:14px;font-weight:600}.plan ul{margin:16px 0;padding:0;list-style:none}.plan li{border-bottom:1.5px dashed var(--line);padding:6px 0;font-size:14px;font-weight:500}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#4a3b2a52;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:2px solid var(--line);border-radius:var(--r-card);width:100%;max-width:380px;box-shadow:var(--shadow);padding:28px;position:relative}.modal-close{width:30px;height:30px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;font-size:16px;transition:background .15s,color .15s;position:absolute;top:12px;right:14px}.modal-close:hover{background:var(--banana-soft);color:var(--ink)}.confirm-card{text-align:center;max-width:400px}.confirm-card h2{font-family:var(--hand);color:var(--banana-deep);margin:0;padding:0 28px;font-size:30px;font-weight:700;line-height:1}.confirm-card h2.danger{color:#e8584a}.confirm-message{color:var(--ink);margin:12px 0 0;font-size:15px;font-weight:600;line-height:1.6}.confirm-card .form-msg{margin-top:12px}.confirm-actions{justify-content:center;gap:10px;margin-top:24px;display:flex}.confirm-actions .btn{flex:1;max-width:160px;padding:12px 18px;font-size:16px}.login-card{max-width:420px;padding:26px}.modal.login-card h2{color:var(--banana-deep);margin:0;padding-right:44px;font-size:40px}.login-card>p.muted{margin:10px 0 20px;font-size:16px;font-weight:600;line-height:1.55}.login-card .modal-close{background:var(--banana-soft);border:2px solid var(--line);place-items:center;width:34px;height:34px;font-size:15px;font-weight:700;transition:color .18s,background .18s,transform .18s;display:grid;top:14px;right:14px}.login-card .modal-close:hover{background:var(--banana);color:var(--ink);transform:rotate(90deg)}.login-card .login-form{gap:11px;margin-top:14px;display:grid}.login-card .login-form label{color:var(--ink-soft);gap:5px;font-size:13.5px;font-weight:700;display:grid}.login-card .login-form .field,.login-card .login-form .password-field{margin-bottom:0}.login-card .login-form .field{font-family:var(--ui);padding:10px 12px;font-size:13.5px}.login-card .or-divider{margin:16px 0 4px;font-weight:700}.login-card .btn{padding:12px 18px;font-size:16px}.login-card .link-btn{font-size:13.5px}@media (max-width:760px){.modal-backdrop{overscroll-behavior:contain;padding:16px 16px calc(16px + env(safe-area-inset-bottom));align-items:start;overflow-y:auto}}.login-notice{color:var(--green-deep);margin:4px 0;font-size:13px;font-weight:600;line-height:1.5}.password-field{margin-bottom:10px;position:relative}.password-field .field{margin-bottom:0}.password-toggle{width:32px;height:32px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin:auto 0;transition:color .15s;display:flex;position:absolute;top:0;bottom:0;right:8px}.password-toggle:hover{color:var(--banana-deep)}.loading-screen{z-index:2000;background:radial-gradient(var(--dot) 1.4px, transparent 1.5px) 0 0 / 28px 28px, var(--bg);opacity:1;visibility:visible;justify-content:center;align-items:center;transition:opacity .5s ease-in-out,visibility .5s ease-in-out;display:flex;position:fixed;inset:0}.loading-screen.fade-out{opacity:0;visibility:hidden}.loading-screen.fade-out .system-icon{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.system-icon{animation:none}}.toaster{left:50%;bottom:calc(env(safe-area-inset-bottom) + 24px);z-index:1500;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(-50%)}.snackbar{max-width:min(92vw,420px);color:var(--ink);text-align:center;border:2px solid var(--line);background:#fff;border-radius:16px 14px 17px 13px;padding:13px 20px;font-size:14px;font-weight:700;line-height:1.4;animation:.26s cubic-bezier(.2,.9,.3,1.3) both snackbar-in;box-shadow:0 16px 40px #e0a50038}.snackbar-ok{border-color:var(--green)}.snackbar-error{border-color:#f3c9c4}@keyframes snackbar-in{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.cd-dropdown{position:relative}.cd-trigger{border:2px solid var(--line);font:inherit;color:var(--banana-deep);cursor:pointer;white-space:nowrap;background:#fff;border-radius:12px;align-items:center;gap:6px;padding:9px 12px;font-size:13px;font-weight:700;transition:border-color .18s,background .15s;display:flex}.cd-trigger:hover{border-color:var(--banana);background:var(--banana-soft)}.cd-trigger:focus-visible{border-color:var(--banana);outline:none;box-shadow:0 0 0 3px #e0a5002e}.cd-pill .cd-trigger{font-family:var(--hand);background:#ffffffb3;border-radius:999px;padding:10px 12px 10px 14px;font-size:15px}.cd-chevron{color:var(--ink-soft);transition:transform .25s cubic-bezier(.4,0,.2,1)}.cd-chevron.open{transform:rotate(180deg)}.cd-menu{z-index:100;border:1.5px solid var(--line);min-width:200px;box-shadow:var(--shadow-card);background:#fff;border-radius:14px;margin:0;padding:6px;list-style:none;animation:.2s cubic-bezier(.2,0,.1,1) cdDropIn;position:absolute;top:calc(100% + 6px);right:0}@keyframes cdDropIn{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.cd-item{cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.cd-item:hover{background:var(--banana-soft)}.cd-item.selected{background:var(--coral-soft)}.cd-item-text{flex:1}.cd-item-text strong{color:var(--ink);font-size:13px;font-weight:700;display:block}.cd-item-text span{color:var(--ink-soft);font-size:11px;font-weight:500}.cd-check{color:var(--green-deep);flex:none}.modal h2{font-family:var(--hand);margin:0 0 16px;font-size:30px;font-weight:700;line-height:1}.field{border:2px solid var(--line);background:#fff;border-radius:12px;outline:none;width:100%;margin-bottom:10px;padding:12px 14px;font-size:14px;font-weight:600;transition:border-color .18s}.field:focus{border-color:var(--banana)}.err{color:#d9534f;margin:4px 0;font-size:13px;font-weight:600}.link-btn{color:var(--banana-deep);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:700;text-decoration:underline}.divider{text-align:center;color:var(--ink-soft);margin:14px 0;font-size:12.5px;font-weight:700}.tabs{gap:6px;display:flex}.tabs button{border:1.5px solid var(--line);color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:#ffffffb3;border-radius:999px;padding:9px 14px;font-size:13.5px;font-weight:700;transition:transform .18s,background .18s,color .18s}.tabs button:hover{transform:translateY(-1px)}.tabs button.active{background:var(--banana);color:var(--on-primary);border-color:var(--banana)}.due-badge{background:var(--green);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.picker-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.picker-head h2{font-family:var(--hand);margin:0;font-size:30px;font-weight:700;line-height:1}.level-toggle{border:1.5px solid var(--line);background:#ffffffb3;border-radius:999px;padding:3px;display:inline-flex}.level-toggle button{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;transition:background .18s,color .18s}.level-toggle button.active{background:var(--banana);color:var(--on-primary)}.scenario-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;display:grid}.scenario-card{text-align:left;border:2px solid var(--line);border-radius:var(--r-card);cursor:pointer;box-shadow:var(--shadow-card);background:#ffffffd1;flex-direction:column;gap:8px;padding:20px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.scenario-card:hover{box-shadow:var(--shadow);border-color:var(--banana);transform:translateY(-3px)}.scenario-card .emoji{font-size:30px}.scenario-card .card-title{font-family:var(--hand);font-size:20px;font-weight:700;line-height:1.05}.scenario-card .card-desc{color:var(--ink-soft);font-size:13.5px;font-weight:500;line-height:1.5}.chat-view{flex-direction:column;height:calc(100vh - 220px);min-height:420px;display:flex}.scene-banner{border:2px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);background:#ffffffd1;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;display:flex}.scene-emoji{font-size:26px}.scene-banner strong{font-family:var(--hand);font-size:18px;font-weight:700}.scene-banner p{color:var(--ink-soft);margin:2px 0 0;font-size:12.5px;font-weight:500}.scene-level-pill{background:var(--coral-soft);color:var(--green-deep);border-radius:999px;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:700}.btn.small{padding:6px 11px;font-size:13px}.messages{flex-direction:column;flex:1;gap:14px;padding:8px 2px 16px;display:flex;overflow-y:auto}.bubble{border-radius:18px 16px/16px 18px;max-width:80%;padding:11px 15px;font-size:15px;line-height:1.5;position:relative}.bubble.ai{border:1.5px solid var(--line);box-shadow:var(--shadow-card);background:#fff;border-bottom-left-radius:6px;align-self:flex-start}.bubble.user{background:var(--banana);color:var(--on-primary);border-bottom-right-radius:6px;align-self:flex-end}.speak-btn{background:var(--surface);border:1.5px solid var(--line);cursor:pointer;border-radius:999px;width:26px;height:26px;font-size:12px;position:absolute;bottom:-10px;left:10px}.feedback{border:2px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--r-sm);max-width:80%;box-shadow:var(--shadow-card);background:#fff;align-self:flex-end;padding:12px 14px;font-size:13.5px;line-height:1.5}.fb-row{gap:8px;margin:4px 0;display:flex}.fb-tag{border-radius:7px;flex-shrink:0;height:fit-content;padding:2px 7px;font-size:11px;font-weight:700}.fb-tag.fix{background:var(--coral-soft);color:var(--green-deep)}.fb-tag.nat{background:var(--banana-soft);color:var(--brown)}.fb-tip{color:var(--ink-soft);margin-top:6px;font-size:12.5px;font-weight:500}.fb-save{border:1.5px solid var(--banana-deep);background:var(--banana-soft);width:100%;color:var(--ink);cursor:pointer;border-radius:10px;margin-top:10px;padding:8px 10px;font-size:12.5px;font-weight:700;transition:background .15s,transform .15s,opacity .15s}.fb-save:hover:not(:disabled){background:var(--banana);transform:translateY(-1px)}.fb-save:disabled{cursor:default;opacity:.7}.typing{border:1.5px solid var(--line);box-shadow:var(--shadow-card);background:#fff;border-radius:18px;align-self:flex-start;gap:4px;padding:14px 16px;display:inline-flex}.typing span{background:var(--ink-soft);border-radius:50%;width:7px;height:7px;animation:1.2s infinite blink}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}.error-banner{color:#c0392b;border-radius:var(--r-sm);text-align:center;background:#fdecea;align-self:center;padding:10px 14px;font-size:13.5px;font-weight:600}.composer{align-items:center;gap:10px;padding:12px 0 6px;display:flex}.mic-btn,.send-btn{border:1.5px solid var(--line);cursor:pointer;border-radius:50%;flex-shrink:0;width:48px;height:48px;font-size:18px;transition:transform .18s}.mic-btn:hover,.send-btn:hover{transform:translateY(-2px)}.mic-btn{background:#fff}.send-btn{background:var(--banana);color:var(--on-primary);border-color:var(--banana);box-shadow:0 8px 18px #e0a50047}.mic-btn:disabled,.send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.composer-input{border:2px solid var(--line);background:#fff;border-radius:999px;outline:none;flex:1;padding:13px 18px;font-size:15px;font-weight:500;transition:border-color .18s}.composer-input:focus{border-color:var(--banana)}.mic-hint{text-align:center;color:var(--ink-soft);min-height:16px;margin:0;font-size:12px;font-weight:500}.title-input{border:2px solid var(--line);width:100%;font-family:var(--ui);color:var(--ink);background:#fff;border-radius:12px;outline:none;margin-top:10px;padding:13px 15px;font-size:14.5px;font-weight:600;transition:border-color .18s}.title-input::placeholder{color:var(--ink-soft)}.title-input:focus{border-color:var(--banana)}.paste-input{resize:vertical;min-height:96px;font-weight:500;line-height:1.5}.yt-search{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;display:grid}.yt-search-input{margin-top:0}.yt-search-btn{border-radius:var(--r-btn);min-width:92px;font-family:var(--ui);color:#fff;cursor:pointer;background:linear-gradient(#ffe066,#ffd23b);border:none;padding:0 16px;font-size:15px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s;box-shadow:0 12px 24px #e0a50057}.yt-search-btn:hover{transform:translateY(-2px)}.yt-search-btn:active{transform:translateY(0)scale(.98)}.yt-search-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.yt-results{gap:8px;margin-top:10px;display:grid}.yt-result{border:1.5px solid var(--line);border-radius:var(--r-sm);text-align:left;cursor:pointer;background:#ffffffd1;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:74px;padding:8px;transition:border-color .18s,background .18s,transform .18s;display:grid}.yt-result:hover,.yt-result.selected{border-color:var(--banana);background:var(--banana-soft);transform:translateY(-1px)}.yt-result img{aspect-ratio:16/9;object-fit:cover;background:#f6f0dc;border-radius:8px;width:96px}.yt-result-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.yt-result-copy strong{-webkit-line-clamp:2;color:var(--ink);-webkit-box-orient:vertical;font-size:13.5px;font-weight:800;line-height:1.28;display:-webkit-box;overflow:hidden}.yt-result-copy span{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.yt-result-pick{border:1.5px solid var(--line);color:var(--ink-soft);white-space:nowrap;background:#fff;border-radius:999px;justify-self:end;padding:4px 9px;font-size:11px;font-weight:800}.yt-result.selected .yt-result-pick{border-color:var(--banana);background:var(--banana);color:var(--ink)}.yt-search-status{color:var(--ink-soft);text-align:center;margin:8px 0 0;font-size:12.5px;font-weight:600}.upload-box{border-radius:var(--r-card);text-align:center;cursor:pointer;background:#ffffffb3;border:2px dashed #e3cf86;flex-direction:column;align-items:center;gap:6px;padding:28px;transition:transform .18s,border-color .18s,background .18s;display:flex}.upload-box:hover,.upload-box.has-file{border-color:var(--banana);background:var(--banana-soft);transform:translateY(-1px)}.upload-icon{font-size:34px}.upload-box .hint{color:var(--ink-soft);font-size:12.5px;font-weight:500}.file-name{color:var(--banana-deep);font-size:13px;font-weight:700}.or-divider{color:var(--ink-soft);align-items:center;gap:12px;margin:14px 0;font-size:12.5px;font-weight:600;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--line);flex:1;height:1px}.analyze-status{text-align:center;color:var(--ink-soft);margin:12px 0 0;font-size:13.5px;font-weight:500}.analyze-status.error{color:#c0392b}.analysis-result{border:2px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);background:#ffffffd1;margin-top:24px;padding:20px}.analysis-result h3{font-family:var(--hand);margin:0 0 8px;font-size:24px;font-weight:700;line-height:1}.result-summary{color:var(--ink-soft);margin:0 0 16px;font-size:14px;font-weight:500;line-height:1.6}.dialogue-block{border:1.5px solid var(--line);border-radius:var(--r-sm);margin-bottom:18px;overflow:hidden}.dialogue-block summary{cursor:pointer;background:var(--banana-soft);padding:12px 14px;font-size:14px;font-weight:700}.dialogue-list{max-height:360px;padding:6px 14px 12px;overflow-y:auto}.dia-line{border-bottom:1px solid #f0ebdd;gap:10px;padding:8px 0;display:flex}.dia-time{color:var(--ink-soft);flex-shrink:0;padding-top:2px;font-size:11px}.dia-en{font-size:14px}.dia-ko{color:var(--ink-soft);margin-top:2px;font-size:12.5px}.mini-speak{cursor:pointer;opacity:.6;background:0 0;border:none;font-size:12px}.mini-speak:hover{opacity:1}.expr-head{font-family:var(--hand);margin:6px 0 12px;font-size:20px;font-weight:700}.expr-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.expr-card{border:1.5px solid var(--line);border-left:4px solid var(--banana);border-radius:var(--r-sm);background:#ffffffd1;padding:12px 14px}.expr-top{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.expr-phrase{color:var(--banana-deep);font-size:15px;font-weight:700}.expr-type{background:var(--coral-soft);color:var(--green-deep);border-radius:7px;margin-left:auto;padding:2px 7px;font-size:10.5px;font-weight:700}.expr-meaning{margin:6px 0;font-size:13.5px;font-weight:500}.expr-ex{color:var(--ink-soft);border-top:1px dashed var(--line);padding-top:6px;font-size:12.5px;line-height:1.5}.expr-note{color:var(--ink-soft);margin-top:6px;font-size:12px}.curate-hint{color:var(--ink-soft);margin:-4px 0 10px;font-size:12.5px}.curate-controls{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}.curate-selall{border:1.5px solid var(--line);font-family:var(--ui);color:var(--ink-soft);cursor:pointer;background:#ffffffe6;border-radius:999px;flex:none;padding:8px 14px;font-size:12.5px;font-weight:700}.curate-selall:hover{border-color:var(--banana);color:var(--banana-deep)}.curate-tag{flex-direction:column;flex:1;gap:4px;min-width:180px;display:flex}.curate-tag-label{color:var(--ink-soft);font-size:11.5px;font-weight:700}.expr-card.curate{cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,box-shadow .15s,opacity .15s,background .15s}.expr-card.curate:hover{box-shadow:0 3px 10px #00000012}.expr-card.curate.picked{border-color:var(--banana);background:var(--banana-soft,#ffd23b24)}.expr-card.curate.dropped{opacity:.5;border-left-color:var(--line);background:#ffffff8c}.expr-pick{border:1.5px solid var(--line);color:var(--ink-soft);background:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.expr-pick.on{border-color:var(--banana);background:var(--banana);color:var(--ink)}.curate-save{margin-top:16px}.library-section{margin-top:32px}.library-section h3{font-family:var(--hand);margin:0 0 12px;font-size:22px;font-weight:700}.library-list{flex-direction:column;gap:8px;display:flex}.lib-row{gap:8px;display:flex}.lib-open{text-align:left;border:1.5px solid var(--line);border-radius:var(--r-sm);cursor:pointer;background:#ffffffd1;flex-direction:column;flex:1;gap:3px;padding:12px 14px;transition:transform .18s,border-color .18s;display:flex}.lib-open:hover{border-color:var(--banana);transform:translateY(-1px)}.lib-open strong{font-size:14px;font-weight:700}.lib-open span{color:var(--ink-soft);font-size:12px}.lib-del{border:1.5px solid var(--line);background:var(--surface);border-radius:var(--r-sm);cursor:pointer;width:44px;font-size:15px}.empty{color:var(--ink-soft);text-align:center;padding:20px;font-size:13.5px;font-weight:500}@media (max-width:560px){.yt-search{grid-template-columns:1fr}.yt-search-btn{min-height:46px}.yt-result{grid-template-columns:88px minmax(0,1fr)}.yt-result img{width:88px}.yt-result-pick{grid-column:2;justify-self:start}}.rv-create{border:2px solid var(--line);border-radius:var(--r-card);background:#ffffffc7;width:min(100%,640px);margin:0 auto 18px;padding:16px;box-shadow:0 8px 24px #e0a5001f}.rv-create-title{color:var(--banana-deep);font-family:var(--hand);margin-bottom:10px;font-size:22px;font-weight:700;line-height:1}.rv-create-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;display:grid}.rv-create-input{resize:vertical;min-height:54px;margin-bottom:0;line-height:1.45}.rv-create-btn{white-space:nowrap;min-width:118px;margin:0;padding:0 18px}.rv-src{color:var(--banana-deep)}.rv-subprogress{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;scroll-margin-top:12px;font-size:12px;font-weight:600;display:flex}.rv-subprogress-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.rv-counter{justify-content:center;align-items:center;gap:8px;margin:4px 0 14px;font-size:15px;font-weight:800;display:flex}.rv-c{text-align:center;min-width:20px}.rv-c.is-new{color:#2f7ad6}.rv-c.is-learn{color:#cf3b3b}.rv-c.is-due{color:#1f9d4d}.rv-c-plus{color:var(--ink-soft);font-weight:600}.rv-c.is-active{color:#fff;border-radius:999px;padding:1px 9px;transform:scale(1.06)}.rv-c.is-active.is-new{background:#2f7ad6}.rv-c.is-active.is-learn{background:#cf3b3b}.rv-c.is-active.is-due{background:#1f9d4d}.rv-lang-filter{border:1.5px solid var(--line);color:var(--ink-soft);font-family:var(--ui);cursor:pointer;background:#ffffffb3;border-radius:999px;flex:none;padding:5px 11px;font-size:12px;font-weight:700;transition:color .18s,border-color .18s,background .18s}.rv-lang-filter.is-all{color:var(--banana-deep);border-color:var(--banana);background:var(--banana-soft)}.rv-lang-filter:hover{color:var(--banana-deep)}.rv-empty .rv-lang-filter{margin-top:16px}.rv-add{margin-bottom:14px}.rv-add-toggle{border:1.5px dashed var(--line);width:100%;color:var(--ink-soft);font-family:var(--ui);cursor:pointer;background:#fff9;border-radius:12px;padding:10px;font-size:13.5px;font-weight:700;transition:border-color .18s,color .18s}.rv-add-toggle:hover{border-color:var(--banana);color:var(--banana-deep)}.rv-add-form{border:1.5px solid var(--line);background:#fff9;border-radius:14px;margin-top:10px;padding:14px}.rv-field{margin-top:11px;display:block}.rv-field:first-child{margin-top:0}.rv-field-label{color:var(--ink-soft);margin:0 0 4px 2px;font-size:12px;font-weight:700;display:block}.rv-field .title-input{margin-top:0}.rv-add-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:11px;display:grid}.rv-add-row .rv-field{margin-top:0}.rv-ai-btn{border:1.5px solid var(--banana);min-width:118px;height:46px;font-family:var(--ui);color:var(--banana-deep);background:var(--banana-soft);cursor:pointer;border-radius:12px;padding:0 14px;font-size:13px;font-weight:800;transition:filter .18s,opacity .18s}.rv-add-form .primary-btn{margin-top:14px}.rv-ai-btn:hover{filter:brightness(1.03)}.rv-ai-btn:disabled{opacity:.55;cursor:not-allowed}.rv-add-status{color:var(--ink-soft);text-align:center;margin:10px 0 0;font-size:13px;font-weight:600}.rv-add-status.error{color:#e8584a}.rv-nav{border:1.5px solid var(--line);background:#fff9;border-radius:999px;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:14px;padding:4px;display:grid}.rv-nav button{color:var(--ink-soft);font-family:var(--ui);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 4px;font-size:13px;font-weight:700;transition:background .18s,color .18s}.rv-nav button:hover{color:var(--banana-deep)}.rv-nav button.is-active{background:var(--banana);color:var(--on-primary,#fff)}.rv-premium-note{border:1.5px dashed var(--line);color:var(--ink-soft);text-align:center;background:#00000005;border-radius:12px;margin-top:14px;padding:10px 14px;font-size:12.5px;font-weight:600;text-decoration:none;display:block}.rv-premium-note:hover{border-color:var(--banana)}.rv-premium-link{color:var(--banana-deep);white-space:nowrap;font-weight:800}.rv-session{color:#cf3b3b;background:#fff2f2;border:1.5px solid #ffb0b0;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:8px 10px 8px 14px;font-size:12.5px;font-weight:800;display:flex}.rv-session button{color:#cf3b3b;font-family:var(--ui);cursor:pointer;background:#fff;border:1.5px solid #ffb0b0;border-radius:999px;flex:none;padding:5px 12px;font-size:12px;font-weight:700}.rv-session button:hover{background:#ffe9e9}.rv-goal{border:1.5px solid var(--banana);background:var(--banana-soft);color:var(--banana-deep);text-align:center;border-radius:999px;margin-bottom:12px;padding:8px 14px;font-size:12.5px;font-weight:700}.rv-goal.is-met{color:#1f9d4d;background:#eafaef;border-color:#34c759}.rv-mode{border:1.5px solid var(--line);background:#00000005;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:5px;margin-bottom:14px;padding:3px;display:grid}.rv-mode button{color:var(--ink-soft);font-family:var(--ui);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:7px 4px;font-size:12.5px;font-weight:700;transition:background .15s,color .15s}.rv-mode button:hover{color:var(--banana-deep)}.rv-mode button.is-active{color:var(--ink);background:#fffffff2;box-shadow:0 1px 3px #00000014}.rv-type{flex-direction:column;gap:10px;margin-top:8px;display:flex}.rv-type-input{border:1.5px solid var(--line);width:100%;font-family:var(--ui);color:var(--ink);text-align:center;background:#fff;border-radius:12px;padding:12px 14px;font-size:16px}.rv-type-input:focus{border-color:var(--banana);box-shadow:0 0 0 3px var(--banana-soft);outline:none}.rv-check{margin-top:0}.rv-dictation-play{border:1.5px solid var(--banana);background:var(--banana-soft);color:var(--banana-deep);cursor:pointer;border-radius:999px;margin:6px auto 4px;padding:12px 22px;font-size:16px;font-weight:700;transition:transform 80ms}.rv-dictation-play:active{transform:scale(.97)}.rv-typed{border:1.5px solid var(--line);text-align:center;border-radius:12px;margin-bottom:12px;padding:10px 12px}.rv-typed.is-correct{background:#eafaef;border-color:#34c759}.rv-typed.is-close{border-color:var(--banana);background:var(--banana-soft)}.rv-typed.is-wrong{background:#fff2f2;border-color:#ffb0b0}.rv-typed-msg{color:var(--ink);font-size:14px;font-weight:800}.rv-typed-said{color:var(--ink-soft);margin-top:4px;font-size:12.5px}.rs-goal{border:1.5px solid var(--line);background:#ffffffd9;border-radius:16px;margin-bottom:16px;padding:14px 16px}.rs-goal.is-met{background:#eafaef;border-color:#34c759}.rs-goal-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.rs-goal-heading{color:var(--ink);font-size:13.5px;font-weight:800}.rs-goal-set{border:1.5px solid var(--line);color:var(--ink-soft);font-family:var(--ui);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.rs-goal-set:hover{border-color:var(--banana);color:var(--banana-deep)}.rs-goal-edit{align-items:center;gap:6px;display:inline-flex}.rs-goal-input{border:1.5px solid var(--banana);width:64px;font-family:var(--ui);text-align:center;border-radius:8px;padding:5px 8px;font-size:14px}.rs-goal-input:focus{box-shadow:0 0 0 3px var(--banana-soft);outline:none}.rs-goal-save{background:var(--banana);color:var(--on-primary,#fff);cursor:pointer;border:none;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:700}.rs-goal-bar{background:#0000000f;border-radius:999px;height:12px;overflow:hidden}.rs-goal-fill{background:linear-gradient(90deg,#ffe066,#ffcf2e);border-radius:999px;height:100%;transition:width .3s}.rs-goal.is-met .rs-goal-fill{background:linear-gradient(90deg,#5fd88a,#34c759)}.rs-goal-status{color:var(--ink-soft);text-align:center;margin-top:8px;font-size:12.5px;font-weight:700}.rs-reminder.is-on{border-color:var(--banana)}.rs-reminder-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rs-reminder-label{color:var(--ink-soft);font-size:12.5px;font-weight:700}.rs-reminder-selects{flex:1;gap:6px;min-width:0;display:inline-flex}.rs-reminder-selects select{border:1.5px solid var(--line);min-width:0;font-family:var(--ui);color:var(--ink);background:#fff;border-radius:10px;flex:1;padding:8px 10px;font-size:13.5px;font-weight:600}.rs-reminder-status{color:var(--ink-soft);margin-top:10px;font-size:12px;font-weight:600;line-height:1.5}.rs-bar{justify-content:flex-end;margin-bottom:10px;display:flex}.rs-tiles{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px;display:grid}.rs-tile{border:1.5px solid var(--line);background:#ffffffd9;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;display:flex}.rs-tile.is-due{border-color:var(--banana);background:var(--banana-soft)}.rs-num{color:var(--ink);font-size:22px;font-weight:800}.rs-label{color:var(--ink-soft);text-align:center;font-size:11.5px;font-weight:600}.rs-heading{color:var(--ink);margin:20px 0 10px;font-size:13.5px;font-weight:800}.rs-days{grid-template-columns:repeat(7,1fr);align-items:end;gap:6px;display:grid}.rs-day{flex-direction:column;align-items:center;gap:4px;display:flex}.rs-day-count{color:var(--banana-deep);min-height:14px;font-size:11px;font-weight:800}.rs-day-track{background:#0000000a;border-radius:6px 6px 0 0;align-items:flex-end;width:100%;height:84px;display:flex}.rs-day-fill{background:linear-gradient(#ffe066,#ffd23b);border-radius:6px 6px 0 0;width:100%;min-height:2px;transition:height .2s}.rs-day-label{color:var(--ink-soft);font-size:10.5px;font-weight:600}.rs-day-label.is-soon{color:var(--banana-deep);font-weight:800}.rs-months{gap:8px;display:grid}.rs-month{grid-template-columns:84px minmax(0,1fr) 34px;align-items:center;gap:8px;display:grid}.rs-month-label{color:var(--ink-soft);font-size:12px;font-weight:700}.rs-month-track{background:#0000000d;border-radius:999px;height:12px;overflow:hidden}.rs-month-fill{background:linear-gradient(90deg,#ffe066,#ffd23b);border-radius:999px;min-width:2px;height:100%;transition:width .2s}.rs-month-count{color:var(--ink);text-align:right;font-size:12px;font-weight:800}.rs-tile.is-streak{background:linear-gradient(#fff3d6,#ffe9b3);border-color:#ffb84d}.rs-hist{background:#00000008;border-radius:10px;grid-template-columns:repeat(30,1fr);align-items:end;gap:2px;height:64px;padding:6px 2px 0;display:grid}.rs-hist-bar{align-items:flex-end;height:100%;display:flex}.rs-hist-fill{background:#00000014;border-radius:3px 3px 0 0;width:100%;min-height:2px;transition:height .2s}.rs-hist-fill.is-on{background:linear-gradient(#ffe066,#ffcf2e)}.rs-hist-axis{color:var(--ink-soft);justify-content:space-between;margin-top:4px;font-size:10.5px;font-weight:600;display:flex}.cm-bar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:10px;display:grid}.cm-search{margin-top:0}.cm-count{color:var(--ink-soft);margin:0 0 10px 2px;font-size:12.5px;font-weight:700}.cm-count-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.cm-count-row .cm-count{margin:0 0 0 2px}.cm-leech-start{color:#fff;font-family:var(--ui);cursor:pointer;background:#cf3b3b;border:1.5px solid #ff8a8a;border-radius:999px;flex:none;padding:6px 14px;font-size:12.5px;font-weight:700;transition:filter .15s}.cm-leech-start:hover{filter:brightness(1.08)}.cm-fix{border:1.5px solid var(--banana);background:var(--banana-soft);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:12px;padding:10px 12px;display:flex}.cm-fix-label{color:var(--on-primary);font-size:12.5px;font-weight:700}.cm-fix-btn{border:1.5px solid var(--banana-deep);color:var(--banana-deep);font-family:var(--ui);cursor:pointer;background:#fff;border-radius:999px;flex:none;padding:6px 14px;font-size:12.5px;font-weight:800;transition:filter .15s,opacity .15s}.cm-fix-btn:hover:not(:disabled){filter:brightness(1.03)}.cm-fix-btn:disabled{opacity:.55;cursor:default}.cm-fix-msg{width:100%;color:var(--ink-soft);font-size:12px;font-weight:700}.cm-list{gap:10px;display:grid}.cm-card{border:1.5px solid var(--line);background:#ffffffd9;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px 14px;display:grid}.cm-card.is-editing{display:block}.cm-card.is-editing .title-input{margin-top:8px}.cm-card.is-editing .title-input:first-child{margin-top:0}.cm-phrase{color:var(--ink);font-size:15.5px;font-weight:800}.cm-meaning{color:var(--ink);margin-top:3px;font-size:13.5px;font-weight:600}.cm-ex{color:var(--ink-soft);margin-top:4px;font-size:12.5px;line-height:1.45}.cm-note{color:var(--ink-soft);margin-top:4px;font-size:12.5px}.cm-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;display:flex}.cm-src{color:var(--ink-soft);background:var(--banana-soft);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.cm-due{color:var(--banana-deep);border:1px solid var(--banana);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.cm-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.cm-leech{border:1.5px solid var(--line);color:var(--ink-soft);font-family:var(--ui);cursor:pointer;background:#ffffffe6;border-radius:999px;flex:none;padding:6px 12px;font-size:12.5px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.cm-leech.is-active{color:#cf3b3b;background:#fff2f2;border-color:#ff8a8a}.cm-tagbar{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.cm-tagchip{border:1.5px solid var(--line);color:var(--ink-soft);font-family:var(--ui);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;transition:background .15s,color .15s,border-color .15s}.cm-tagchip:hover{border-color:var(--banana)}.cm-tagchip.is-active{border-color:var(--banana);background:var(--banana);color:var(--on-primary,#fff)}.cm-tags{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.cm-tag{background:var(--banana-soft);color:var(--banana-deep);cursor:pointer;border:none;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.cm-tag:hover{filter:brightness(.97)}.cm-diff{border-radius:999px;padding:1px 8px;font-size:11px;font-weight:800}.cm-diff.is-hard{color:#cf3b3b;background:#fdeaea}.cm-diff.is-med{color:#b7791f;background:#fdf3e2}.cm-diff.is-easy{color:#1f9d4d;background:#e9f9ef}.cm-lapse{color:#cf3b3b;font-size:11px;font-weight:700}.cm-actions,.cm-edit-actions{flex:none;gap:6px;display:flex}.cm-edit-actions{margin-top:12px}.cm-btn{border:1.5px solid var(--line);font-family:var(--ui);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:10px;padding:6px 12px;font-size:12.5px;font-weight:700;transition:border-color .18s,color .18s,opacity .18s}.cm-btn:hover{border-color:var(--banana);color:var(--banana-deep)}.cm-btn:disabled{opacity:.5;cursor:not-allowed}.cm-del:hover{color:#e8584a;border-color:#e8584a}.cm-save{color:var(--banana-deep);border-color:var(--banana);background:var(--banana-soft)}.rv-card{border:2px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);background:#ffffffd9;max-width:560px;margin:0 auto;padding:28px 22px}.rv-label{text-align:center;color:var(--ink-soft);margin-bottom:16px;font-size:12.5px;font-weight:600}.rv-sentence{text-align:center;margin-bottom:14px;font-size:19px;line-height:1.5}.rv-fill{color:var(--banana-deep);background:var(--banana-soft);border-radius:6px;padding:0 6px;font-weight:800}.rv-hint{text-align:center;color:var(--ink-soft);font-size:13.5px;font-weight:500}.rv-meaning-big{text-align:center;font-family:var(--hand);padding:12px 0;font-size:26px;font-weight:700}.rv-back{border-top:1.5px dashed var(--line);margin:18px 0;padding-top:16px}.rv-answer{font-family:var(--hand);color:var(--banana-deep);text-align:center;font-size:26px;font-weight:700}.rv-ex{text-align:center;color:var(--ink-soft);margin-top:10px;font-size:13.5px;line-height:1.6}.rv-note{text-align:center;color:var(--ink-soft);margin-top:8px;font-size:12.5px}.rv-important-expr{background:var(--bg);border:1px solid var(--line);border-radius:12px;margin:20px 0 10px;padding:14px 16px}.rv-important-expr-title{color:var(--ink-soft);letter-spacing:.2px;margin-bottom:10px;font-size:11.5px;font-weight:700}.rv-important-expr .rv-answer{text-align:left;font-size:20px}.rv-important-expr .rv-hint{text-align:left;margin-top:4px}.rv-important-expr .rv-note{text-align:left;margin-top:6px}.sc{flex-direction:column;align-items:center;gap:10px;margin-top:14px;display:flex}.sc-btn{border:1.5px solid var(--line);color:var(--ink);cursor:pointer;background:#ffffffe6;border-radius:999px;padding:9px 18px;font-size:13.5px;font-weight:700;transition:transform 80ms,background .15s,border-color .15s}.sc-btn:hover:not(:disabled){border-color:var(--banana)}.sc-btn:active:not(:disabled){transform:scale(.97)}.sc-btn:disabled{opacity:.6;cursor:default}.sc-btn.is-rec{color:#d13030;background:#ffecec;border-color:#ff5a5a;animation:1.1s ease-in-out infinite sc-pulse}@keyframes sc-pulse{0%,to{box-shadow:0 0 #ff5a5a66}50%{box-shadow:0 0 0 6px #ff5a5a00}}.sc-err{color:#d13030;text-align:center;font-size:12.5px}.sc-result{border:1.5px solid var(--line);background:#ffffffb3;border-radius:14px;width:100%;padding:12px 14px}.sc-result.is-great{background:#eafaef;border-color:#34c759}.sc-result.is-ok{border-color:var(--banana);background:var(--banana-soft)}.sc-result.is-low{background:#fff2f2;border-color:#ffb0b0}.sc-score{justify-content:center;align-items:baseline;gap:8px;display:flex}.sc-pct{color:var(--ink);font-size:24px;font-weight:800}.sc-msg{color:var(--ink-soft);font-size:12.5px;font-weight:600}.sc-tokens{flex-wrap:wrap;justify-content:center;gap:5px 7px;margin-top:10px;display:flex}.sc-tok{font-size:15px;font-weight:700}.sc-tok.is-ok{color:#1f9d4d}.sc-tok.is-miss{color:#cf3b3b;text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.sc-heard{color:var(--ink-soft);text-align:center;margin-top:10px;font-size:12px}.sc-heard-label{font-weight:700}.rv-actions{z-index:3;padding:12px 22px calc(4px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1.5px solid var(--line);margin:8px -22px 0;position:sticky;bottom:0}.rv-actions .rv-show,.rv-actions .rv-type,.rv-actions .rv-grades{margin-top:0}.rv-show{margin-top:8px}.rv-grades{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;display:grid}.rv-grades button{border:1.5px solid var(--line);border-radius:var(--r-sm);cursor:pointer;background:#fff;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;font-size:13.5px;font-weight:700;transition:transform .18s,border-color .18s;display:flex}.rv-grades button:hover{border-color:var(--banana);transform:translateY(-2px)}.rv-grades button small{color:var(--ink-soft);font-size:10px;font-weight:500}.g-key{background:var(--banana-soft);min-width:16px;color:var(--banana-deep);border-radius:5px;margin-bottom:3px;padding:1px 5px;font-size:10px;font-weight:800;line-height:1.4}.rv-show-key{opacity:.8;border:1px solid #fff9;border-radius:5px;margin-left:8px;padding:1px 6px;font-size:11px;font-weight:700}.rv-empty{text-align:center;color:var(--ink-soft);padding:50px 20px}.rv-empty-emoji{margin-bottom:14px;font-size:48px}.rv-empty p{font-size:15px;font-weight:500;line-height:1.6}.rv-again{margin-top:16px}@media (max-width:640px){.rv-create-row{grid-template-columns:1fr}.rv-create-btn{width:100%;min-height:46px}}.usage-meter{border:1.5px solid var(--line);color:var(--ink-soft);background:#ffffffb3;border-radius:999px;align-items:center;gap:6px;margin-bottom:14px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.usage-meter strong{color:var(--banana-deep)}.usage-meter.empty{background:var(--coral-soft);color:var(--green-deep);border-color:var(--green)}.usage-upgrade{color:var(--green-deep);font-weight:700;text-decoration:underline}.account-page{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#4a3b2a3d;place-items:center;min-height:100dvh;padding:22px;display:grid}.account-settings-card{background:var(--surface);border:2px solid var(--line);border-radius:18px 15px 21px 14px/16px 20px 14px 21px;flex-direction:column;width:min(420px,100vw - 44px);max-height:88vh;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #e0a5002e}.account-settings-scroll{overscroll-behavior:contain;gap:4px;min-height:0;padding:26px;display:grid;overflow-y:auto}.account-settings-card h1{color:var(--banana-deep);font-family:var(--hand);letter-spacing:0;margin:0;padding-right:44px;font-size:40px;font-weight:700;line-height:1}.account-close{z-index:2;width:34px;height:34px;color:var(--ink-soft);background:var(--surface);border:2px solid var(--line);box-shadow:none;border-radius:50%;place-items:center;font-size:15px;font-weight:700;line-height:1;text-decoration:none;transition:color .18s,background .18s,transform .18s;display:grid;position:absolute;top:14px;right:14px}.account-close:hover{color:var(--banana-deep);background:var(--banana-soft);transform:rotate(90deg)}.account-profile-summary{border:1.5px solid var(--line);background:#ffffffb8;border-radius:14px 11px 13px 12px/12px 13px 11px 14px;align-items:center;gap:12px;margin-top:6px;padding:12px;display:flex}.account-avatar-wrap{flex:none;position:relative}.account-avatar{object-fit:cover;width:52px;height:52px;box-shadow:none;border-radius:50%;flex:none}.account-avatar-fallback{color:var(--banana-deep);background:var(--banana-soft);text-shadow:none;place-items:center;font-size:22px;font-weight:800;display:grid}.account-avatar-busy{color:var(--banana-deep);text-align:center;background:#ffffffeb;border-radius:999px;padding:2px 4px;font-size:10px;font-weight:800;position:absolute;inset:auto -4px -5px;box-shadow:0 2px 6px #e0a5001f}.account-member-info{flex:1;min-width:0;display:grid}.account-member-info strong,.account-member-info span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.account-member-info strong{font-size:14px;font-weight:700}.account-member-info span{color:var(--ink-soft);font-size:12px;font-weight:600}.account-profile-summary .provider-badges{flex:none;margin-left:auto}.account-settings-tabbed{flex-direction:column;margin-top:16px;display:flex}.account-tabs{z-index:1;align-items:flex-end;gap:4px;display:flex;position:relative}.account-tabs button{color:var(--ink-soft);background:var(--banana-soft);box-shadow:none;cursor:pointer;white-space:nowrap;border:1.5px solid #0000;border-bottom:none;border-radius:12px 12px 0 0;padding:9px 18px;font-size:14px;font-weight:800;transition:background .18s,color .18s,transform .18s}.account-tabs button+button{margin-left:0}.account-tabs button:hover{color:var(--banana-deep);background:#fff0b3}.account-tabs button.active{color:var(--banana-deep);border-color:var(--line);background:#fff;margin-bottom:-1.5px;transform:none}.account-tabpanel{border:1.5px solid var(--line);background:#ffffffc7;border-radius:0 14px 16px;gap:4px;padding:18px;display:grid}.account-form-block{gap:11px;margin-top:14px;display:grid}.account-photo-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.account-photo-button{width:100%}.account-photo-button input{display:none}.account-form-label{color:var(--ink-soft);gap:5px;font-size:13.5px;font-weight:700;display:grid}.account-form-label .field,.account-form-label .password-field{margin-bottom:0}.account-form-label .cd-dropdown,.account-form-label .cd-trigger{width:100%}.account-form-label .cd-trigger{color:var(--banana-deep);border-color:var(--banana-soft);justify-content:space-between}.account-tabpanel .field{font-family:var(--ui);color:var(--ink);border:2px solid var(--banana-soft);background:#fff;border-radius:12px;padding:10px 12px;font-size:13.5px}.account-tabpanel .btn{text-align:center;justify-content:center;align-items:center;min-height:42px;margin-top:2px;padding:12px 18px;font-size:16px;display:inline-flex}.account-wide-action{width:100%;text-decoration:none}.account-divider{color:var(--ink-soft);letter-spacing:0;text-align:center;align-items:center;gap:10px;margin:16px 0 4px;font-size:12.5px;font-weight:700;display:flex}.account-divider:before,.account-divider:after{content:"";background:var(--line);border-radius:2px;flex:1;height:2px}.account-note{color:var(--ink-soft);margin:0;font-size:13px;font-weight:600;line-height:1.55}.account-actions{gap:10px;margin-top:12px;display:flex}.account-actions .btn{flex:1}.account-settings-legal{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;margin-top:16px;padding-top:14px;font-size:12px;font-weight:600;display:flex}.account-settings-legal a{color:var(--ink-soft);text-decoration:none}.account-settings-legal a:hover{color:var(--banana-deep)}.account-plan{gap:14px;margin-top:14px;display:grid}.account-plan-card{border:1.5px solid var(--line);background:#ffffffb8;border-radius:14px 11px 13px 12px/12px 13px 11px 14px;justify-items:start;gap:7px;padding:16px;display:grid}.account-plan-card strong{color:var(--ink);font-size:22px;font-weight:700}.account-admin-plan{border:1.5px solid var(--line);background:#ffffffb8;border-radius:14px 11px 13px 12px/12px 13px 11px 14px;gap:11px;padding:16px;display:grid}.account-admin-plan>strong{color:var(--banana-deep);font-family:var(--hand);font-size:22px;font-weight:700;line-height:1}.account-admin-plan-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.account-admin-plan-toggle button{border:1.5px solid var(--line);border-radius:var(--r-sm);color:var(--ink-soft);font-family:var(--ui);cursor:pointer;background:#fff;padding:10px 12px;font-size:13.5px;font-weight:800;transition:border-color .18s,color .18s,background .18s}.account-admin-plan-toggle button.active{border-color:var(--banana);background:var(--banana-soft);color:var(--banana-deep)}.btn-ghost.danger{color:#c0392b;border-color:#f3c6c0}.btn-ghost.danger:hover{background:#fcedeb}.account-section{margin-top:18px}.account-section h2{font-family:var(--hand);margin:0 0 12px;font-size:22px;font-weight:700}.account-section.danger{border-color:#f3c9c4}.account-section.danger h2{color:#c0392b}.provider-badges{flex-wrap:wrap;gap:8px;display:flex}.provider-badge{background:var(--banana-soft);color:var(--brown);border:1.5px solid var(--line);border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:12.5px;font-weight:700;display:inline-flex}.field-row{align-items:center;gap:8px;display:flex}.field-row .field{margin-bottom:0}.form-msg{color:#c0392b;margin:4px 0 0;font-size:13px;font-weight:700}.form-msg.ok{color:#68b697}@media (max-width:520px){.account-page{align-items:stretch;padding:12px}.account-settings-card{width:100%;height:calc(100dvh - 24px);max-height:none}.account-settings-scroll{padding:22px 16px}.account-settings-card h1{font-size:38px}.account-profile-summary{flex-wrap:wrap}.account-avatar{width:48px;height:48px}.account-profile-summary .provider-badges{width:100%;margin-left:60px}.account-tabs button{flex:1;padding-left:10px;padding-right:10px}.account-tabpanel{padding:16px 14px}.account-actions{flex-direction:column}}.legal-page{min-height:100vh}.legal-header .nav{align-items:center;gap:18px;margin-left:22px;display:flex}.legal-header .nav-link{color:var(--ink-soft);font-family:var(--ui);font-size:14px;font-weight:700;text-decoration:none}.legal-header .nav-link:hover,.legal-header .nav-link.active{color:var(--banana-deep)}.legal-main{width:min(980px,100% - 36px);margin:0 auto;padding:62px 0 40px}.legal-hero{text-align:center}.legal-hero h1{color:var(--ink);font-family:var(--hand);font-size:clamp(44px,7vw,72px);font-weight:700;line-height:.98}.legal-hero p{max-width:720px;color:var(--ink-soft);margin:18px auto 0;font-size:17px;font-weight:600;line-height:1.7}.legal-hero span{color:var(--ink-soft);border:1.5px solid var(--line);background:#ffffffb8;border-radius:999px;margin-top:16px;padding:7px 12px;font-size:13px;font-weight:700;display:inline-flex}.legal-document{border:2px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);background:#ffffffd1;gap:24px;margin-top:42px;padding:34px;display:grid}.legal-document section{gap:12px;display:grid}.legal-document h2{color:var(--banana-deep);font-family:var(--hand);font-size:30px;font-weight:700;line-height:1.05}.legal-document p,.legal-document li{color:var(--ink);font-size:15.5px;font-weight:500;line-height:1.75}.legal-document ul{gap:8px;margin:0;padding-left:0;list-style:none;display:grid}.legal-document li:before{content:"•";color:var(--banana-deep);font-family:var(--hand);margin-right:8px;font-weight:700}.legal-document a{color:var(--banana-deep);font-weight:800;text-decoration:none}.legal-document a:hover{text-underline-offset:3px;text-decoration:underline}.legal-inline-link{overflow-wrap:anywhere}.legal-footer{text-align:center;color:var(--ink-soft);margin-top:28px;font-size:13px;font-weight:600}.legal-links{flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:32px;display:flex}.legal-links a{color:var(--ink-soft);font-size:12.5px;font-weight:600;text-decoration:none}.legal-links a:hover{color:var(--banana-deep);text-decoration:underline}@media (max-width:560px){.studio-page{padding:30px 16px 64px}.studio-title{font-size:34px}.studio-tool-card{gap:12px;padding:15px 14px}.studio-tool-icon{width:32px;font-size:27px}.studio-tool-title{font-size:20px}.workspace-page{padding:22px 16px 60px}.workspace-head h1{font-size:30px}.expr-grid{grid-template-columns:1fr}.bubble,.feedback{max-width:90%}.tabs button{padding:8px 10px;font-size:12.5px}.brand h1{font-size:21px}.picker-head h2{font-size:26px}}@media (max-width:380px){.studio-head{gap:10px}.studio-title{font-size:29px}.studio-account{width:38px;height:38px}.studio-tool-badge{display:none}}@media (max-width:600px){.site-header .brand-name,.topbar .brand-text,.legal-header .nav{display:none}.legal-main{padding-top:40px}.legal-hero h1{font-size:clamp(38px,11vw,56px)}.legal-document{padding:24px 18px}.legal-document h2{font-size:27px}}.system-screen{text-align:center;background:radial-gradient(var(--dot) 1.4px, transparent 1.5px) 0 0 / 28px 28px, var(--bg);justify-content:center;align-items:center;min-height:100dvh;padding:32px 24px;display:flex}.system-card{flex-direction:column;align-items:center;gap:14px;max-width:420px;display:flex}.system-icon{filter:drop-shadow(0 4px 6px #0000001a);border-radius:20px;animation:1.2s cubic-bezier(.28,.84,.42,1) infinite alternate bounce-icon}.system-code{font-family:var(--hand);color:var(--banana-deep);margin:0;font-size:clamp(3.5rem,12vw,5rem);line-height:1}.system-title{font-family:var(--hand);color:var(--ink);margin:0;font-size:1.7rem}.system-text{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.6}.system-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px;display:flex}.system-actions a,.system-actions button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@keyframes bounce-icon{0%{transform:translateY(0)scale(.95)}to{transform:translateY(-15px)scale(1.05)}}.page{min-height:100vh;overflow:clip}.site-header{z-index:50;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fff7f4d6;align-items:center;gap:16px;min-height:70px;padding:14px clamp(18px,4vw,54px);display:flex;position:sticky;top:0}.header-spacer{flex:1}.site-brand{font-family:var(--hand);color:var(--banana-deep);white-space:nowrap;align-items:center;gap:9px;font-size:26px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.brand-img{border-radius:9px;flex:none;width:32px;height:32px}.auth-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.auth-actions button,.auth-actions a{white-space:nowrap}.ghost-button,.primary-button,.plain-button{border-radius:var(--r-btn);cursor:pointer;border:0;font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-block}.ghost-button{color:var(--ink);border:2px solid var(--line);background:#fff;padding:10px 15px;box-shadow:0 4px #e0a5001a}.primary-button{color:#fff;background:linear-gradient(#ffe066,#ffd23b);padding:12px 18px;box-shadow:0 12px 24px #e0a50057}a.primary-button,a.ghost-button{text-decoration:none}.primary-button:disabled{cursor:not-allowed;opacity:.68;transform:none}.plain-button{color:var(--green-deep);background:var(--coral-soft);border:2px solid var(--green);padding:9px 14px}.ghost-button:hover,.primary-button:hover,.plain-button:hover{transform:translateY(-2px)}.primary-button:active,.ghost-button:active,.plain-button:active{transform:translateY(0)scale(.98)}.hero{text-align:center;justify-content:center;align-items:center;min-height:calc(76vh - 70px);padding:clamp(34px,5vw,64px) clamp(18px,5vw,72px) 42px;display:flex}.hero-content{max-width:920px}.eyebrow{width:max-content;color:var(--green-deep);background:var(--coral-soft);border:2px solid var(--green);font-family:var(--hand);border-radius:999px;align-items:center;gap:7px;margin:0 auto 16px;padding:7px 14px;font-size:19px;font-weight:700;display:inline-flex}.hero h1{max-width:none;color:var(--ink);font-family:var(--hand);letter-spacing:0;margin:0;font-size:clamp(40px,7.2vw,84px);font-weight:700;line-height:1.02}.hero-copy{max-width:680px;color:var(--ink-soft);margin:18px auto 0;font-size:17px;font-weight:600;line-height:1.64}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.hero-typeline{color:var(--ink-soft);font-family:var(--hand);min-height:1.3em;margin:14px 0 0;font-size:clamp(26px,4.5vw,44px);font-weight:700;line-height:1.2}.type-word{color:var(--banana-deep)}.type-caret{background:var(--banana-deep);vertical-align:-.1em;border-radius:2px;width:3px;height:.95em;margin-left:3px;animation:1s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{50%{opacity:0}}.hero-content>*{animation:.7s both hero-reveal}.hero-content>:first-child{animation-delay:40ms}.hero-content>:nth-child(2){animation-delay:.12s}.hero-content>:nth-child(3){animation-delay:.2s}.hero-content>:nth-child(4){animation-delay:.28s}.hero-content>:nth-child(5){animation-delay:.36s}@keyframes hero-reveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero-content>*,.type-caret{animation:none}}.section{padding:74px clamp(18px,5vw,72px)}.section-heading{text-align:center;max-width:850px;margin:0 auto 34px}.section-heading h2{color:var(--ink);font-family:var(--hand);margin:0;font-size:clamp(34px,5.5vw,56px);font-weight:700;line-height:1}.section-heading p{color:var(--ink-soft);margin-top:12px;font-size:17px;font-weight:600;line-height:1.65}.section .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1040px;margin:0 auto}.feature-card strong{color:var(--banana-deep);font-family:var(--hand);font-size:24px;font-weight:700;line-height:1.1;display:block}.feature-card strong+p{margin-top:12px;font-size:15px}.pricing{grid-template-columns:repeat(2,minmax(0,380px));justify-content:center;gap:18px;max-width:860px;margin:0 auto;display:grid}.price-card{border:2.5px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);background:#ffffffd1;padding:25px;position:relative}.price-card.featured{border-color:var(--banana);box-shadow:var(--shadow)}.price-card h3{color:var(--banana-deep);font-family:var(--hand);margin:0;font-size:32px;font-weight:700;line-height:1}.price-card .price{margin-top:10px}.price-card ul{color:var(--ink);border:none;gap:10px;margin-top:18px;padding-left:0;font-weight:600;line-height:1.42;list-style:none;display:grid}.price-card li{border:none;padding:0;font-size:14.5px}.price-card li:before{content:"✓";color:var(--green-deep);margin-right:8px;font-weight:700}.billing-toggle-wrap{justify-content:center;margin-top:20px;display:flex}.billing-toggle{border:2.5px solid var(--line);background:#ffffffd1;border-radius:999px;align-items:center;gap:4px;padding:5px;display:inline-flex;box-shadow:0 8px 22px #e0a5001f}.billing-toggle button{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:9px 20px;font-weight:700;transition:background .18s,color .18s,box-shadow .18s}.billing-toggle button.is-active{color:#fff;background:linear-gradient(#ffe066,#ffd23b);box-shadow:0 4px 12px #e0a50047}.billing-save{color:var(--banana-deep);margin-left:6px;font-size:12px;font-weight:700}.billing-toggle button.is-active .billing-save{color:#fff}.price-badge{color:#fff;font-family:var(--hand);background:linear-gradient(#ffe066,#ffd23b);border-radius:999px;padding:5px 13px;font-size:15px;font-weight:700;position:absolute;top:-13px;right:20px;transform:rotate(2deg);box-shadow:0 6px 14px #e0a50047}.price-annual-total{width:max-content;max-width:100%;color:var(--brown);background:var(--banana-soft);border:1.5px solid var(--line);font-family:var(--hand);border-radius:999px;margin-top:7px;padding:4px 9px;font-size:13px;font-weight:700;display:inline-flex}.price-card-actions{gap:9px;margin-top:18px;display:grid}.price-card-actions .primary-button,.price-card-actions .ghost-button{text-align:center;width:100%}.checkout-error{color:#c0392b;font-size:13px;font-weight:700;line-height:1.45}.faq-section{padding-bottom:56px}.faq-list{flex-direction:column;gap:12px;max-width:720px;margin:0 auto;display:flex}.faq-item{border:2px solid var(--line);background:#ffffffd1;border-radius:16px 14px 18px 13px;transition:box-shadow .2s;overflow:hidden}.faq-item[open]{box-shadow:var(--shadow-card)}.faq-q{color:var(--ink);font-family:var(--hand);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;font-size:18px;font-weight:700;list-style:none;display:flex}.faq-q::-webkit-details-marker{display:none}.faq-q:after{content:"+";color:var(--banana-deep);flex:none;font-size:22px;line-height:1}.faq-item[open] .faq-q:after{content:"–"}.faq-a{color:var(--ink-soft);padding:0 20px 18px;font-size:15px;font-weight:600;line-height:1.65}.footer{color:var(--ink-soft);text-align:center;padding:34px clamp(18px,5vw,72px) 48px;font-size:13px;font-weight:700}.footer a{color:inherit;text-decoration:none}.footer a:hover{color:var(--banana-deep)}.home-footer{justify-items:center;gap:10px;display:grid}.home-footer div{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}@media (max-width:980px){.section .feature-grid{grid-template-columns:1fr}}@media (max-width:680px){.site-header{gap:10px;padding:12px 16px}.site-brand{font-size:21px}.hero{padding-top:34px}.section{padding:56px 16px}.pricing{grid-template-columns:1fr}}.used-badge{background:var(--banana-soft);border:1.5px solid var(--banana-deep);max-width:90%;color:var(--brown);text-align:center;box-shadow:var(--shadow-card);border-radius:999px;align-self:center;margin:2px 0;padding:7px 14px;font-size:12.5px;font-weight:700;animation:.35s used-pop}@keyframes used-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.rv-practice{margin-bottom:10px}.home-streak{background:var(--surface,#fffef7);border:2px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);align-items:center;gap:12px;margin:4px 0 14px;padding:14px 16px;display:flex}.home-streak.is-active{border-color:var(--banana);background:var(--banana-soft)}.home-streak-flame{filter:grayscale(.6);font-size:30px;line-height:1}.home-streak.is-active .home-streak-flame{filter:none}.home-streak-main{flex:1;min-width:0}.home-streak-num{font-family:var(--hand,inherit);color:var(--ink);font-size:20px;font-weight:700}.home-streak-sub{color:var(--ink-soft);margin-top:2px;font-size:12.5px;font-weight:500}.home-streak-goal{background:var(--line);border-radius:999px;flex-shrink:0;width:64px;height:8px;overflow:hidden}.home-streak-goal-fill{background:var(--banana-deep);border-radius:999px;height:100%;transition:width .3s}.rs-newcard-row{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}.mission{background:var(--surface,#fffef7);border:2px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-card);margin:10px 0 6px;padding:12px 14px}.mission-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.mission-heading{color:var(--ink);font-size:13px;font-weight:700}.mission-count{color:var(--banana-deep);font-size:12px;font-weight:700}.mission-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.mission-item{color:var(--ink-soft);align-items:flex-start;gap:8px;font-size:12.5px;transition:color .2s;display:flex}.mission-item.is-done{color:var(--ink)}.mission-item.is-done span:last-child{text-decoration:line-through;-webkit-text-decoration-color:var(--banana-deep);text-decoration-color:var(--banana-deep)}.mission-check{width:16px;color:var(--line);flex-shrink:0;font-weight:800}.mission-item.is-done .mission-check{color:var(--banana-deep)}.mission-complete{background:var(--banana-soft);color:var(--brown);text-align:center;border-radius:8px;margin-top:10px;padding:8px 10px;font-size:12.5px;font-weight:700;animation:.35s used-pop}.rv-produce-label{color:var(--banana-deep);text-align:center;margin-bottom:6px;font-size:12.5px;font-weight:700}.rv-sentence.rv-native{color:var(--ink-soft);font-style:italic}.usage-meter.low{background:var(--banana-soft);border-color:var(--banana-deep);color:var(--brown)}.paywall-preview{border:1.5px dashed var(--line);border-radius:var(--r-sm);text-align:left;background:#fff9;margin:14px 0 4px;padding:12px}.paywall-preview-title{color:var(--ink-soft);margin-bottom:8px;font-size:12px;font-weight:700}.paywall-sample-row{background:var(--banana-soft);border-radius:8px;justify-content:space-between;gap:12px;margin-bottom:6px;padding:6px 8px;font-size:13px;display:flex}.paywall-sample-phrase{color:var(--ink);font-weight:700}.paywall-sample-meaning{color:var(--ink-soft)}.paywall-sample-row.is-blur{filter:blur(4px);-webkit-user-select:none;user-select:none;opacity:.8}.paywall-sample-more{color:var(--banana-deep);text-align:center;margin-top:2px;font-size:12px;font-weight:600}.yt-box{border:1.5px solid var(--line);border-radius:var(--r-sm);background:#ffffff8c;padding:14px}.yt-heading{color:var(--ink);margin-bottom:10px;font-size:13px;font-weight:700}.yt-row{gap:8px;margin-bottom:8px;display:flex}.yt-row .title-input{flex:1;min-width:0;margin:0}.yt-btn{white-space:nowrap;flex-shrink:0}.yt-results{flex-direction:column;gap:8px;margin-top:6px;display:flex}.yt-result{border:1.5px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:10px;align-items:center;gap:10px;padding:8px;transition:border-color .15s,transform .15s;display:flex}.yt-result:hover:not(:disabled){border-color:var(--banana);transform:translateY(-1px)}.yt-result:disabled{opacity:.6;cursor:default}.yt-thumb{object-fit:cover;background:var(--line);border-radius:6px;flex-shrink:0;width:72px;height:40px}.yt-result-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.yt-result-title{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;display:-webkit-box;overflow:hidden}.yt-result-channel{color:var(--ink-soft);font-size:11.5px}.yt-result-cta{color:var(--banana-deep);flex-shrink:0;font-size:11.5px;font-weight:700}.yt-noresults{color:var(--ink-soft);text-align:center;margin-top:8px;font-size:12.5px}.onboard{background:var(--surface,#fffef7);border:2px solid var(--banana);border-radius:var(--r-card);box-shadow:var(--shadow-card);margin:4px 0 14px;padding:14px 16px}.onboard-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.onboard-title{font-family:var(--hand,inherit);color:var(--ink);font-size:17px;font-weight:700}.onboard-sub{color:var(--ink-soft);margin-top:2px;font-size:12px}.onboard-dismiss{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px;font-size:12px;text-decoration:underline}.onboard-progress{background:var(--line);border-radius:999px;height:7px;margin:10px 0 12px;overflow:hidden}.onboard-progress-fill{background:var(--banana-deep);border-radius:999px;height:100%;transition:width .3s}.onboard-steps{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.onboard-step{color:var(--ink);align-items:center;gap:9px;font-size:13px;display:flex}.onboard-check{background:var(--line);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;font-size:11px;font-weight:800;display:grid}.onboard-step.is-done .onboard-check{background:var(--banana-deep)}.onboard-step.is-done .onboard-label{color:var(--ink-soft);text-decoration:line-through;-webkit-text-decoration-color:var(--banana-deep);text-decoration-color:var(--banana-deep)}.onboard-label{flex:1;min-width:0}.onboard-status{color:var(--banana-deep);font-size:11.5px;font-weight:700}.onboard-action{border:1.5px solid var(--banana-deep);background:var(--banana-soft);color:var(--ink);cursor:pointer;border-radius:999px;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:700;transition:background .15s,transform .15s}.onboard-action:hover:not(:disabled){background:var(--banana);transform:translateY(-1px)}.onboard-action:disabled{opacity:.6;cursor:default}.rs-weak{flex-direction:column;gap:7px;margin-bottom:12px;display:flex}.rs-weak-row{align-items:center;gap:10px;font-size:12.5px;display:flex}.rs-weak-label{width:96px;color:var(--ink);flex-shrink:0;font-weight:600}.rs-weak-track{background:var(--line);border-radius:999px;flex:1;height:10px;overflow:hidden}.rs-weak-fill{background:var(--banana-deep);border-radius:999px;height:100%}.rs-weak-count{text-align:right;width:24px;color:var(--ink-soft);flex-shrink:0;font-weight:700}.rs-drill{text-align:center;width:100%;margin-bottom:8px}.rs-drill-msg{color:var(--ink-soft);text-align:center;margin:0 0 12px;font-size:12.5px}.scene-end{white-space:nowrap;flex-shrink:0}.report-overlay{z-index:60;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#4a3b2a47;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.report-card{background:var(--surface,#fffef7);border:2px solid var(--banana);border-radius:var(--r-card);width:min(440px,100vw - 40px);max-height:86vh;box-shadow:var(--shadow-card);padding:20px;overflow-y:auto}.report-title{font-family:var(--hand,inherit);color:var(--ink);text-align:center;font-size:22px;font-weight:700}.report-turns{text-align:center;color:var(--ink-soft);margin-top:2px;font-size:13px}.report-section{margin-top:16px}.report-label{color:var(--banana-deep);margin-bottom:6px;font-size:12px;font-weight:700}.report-highlight{color:var(--ink);font-size:15px;font-style:italic;line-height:1.5}.report-patterns{color:var(--ink);margin:0;padding-left:18px;font-size:13px;line-height:1.6}.report-cards{flex-direction:column;gap:8px;display:flex}.report-card-item{background:var(--banana-soft);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.report-card-text{flex:1;min-width:0}.report-card-phrase{color:var(--ink);font-size:14px;font-weight:700}.report-card-meaning{color:var(--ink-soft);font-size:12.5px}.report-card-save{border:1.5px solid var(--banana-deep);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:700}.report-card-save:disabled{opacity:.7;cursor:default}.report-close{width:100%;margin-top:18px}.level-test-btn{border:1.5px solid var(--banana-deep);background:var(--banana-soft);color:var(--ink);cursor:pointer;border-radius:999px;margin-top:8px;padding:7px 14px;font-size:12.5px;font-weight:700;transition:background .15s,transform .15s}.level-test-btn:hover{background:var(--banana);transform:translateY(-1px)}.lt-card{text-align:center}.lt-intro{color:var(--ink-soft);margin:12px 0 18px;font-size:13.5px;line-height:1.6}.lt-close-link{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;margin:12px auto 0;font-size:12.5px;text-decoration:underline;display:block}.lt-step{color:var(--banana-deep);margin-bottom:8px;font-size:12px;font-weight:700}.lt-prompt{color:var(--ink);margin-bottom:4px;font-size:16px;font-weight:700;line-height:1.5}.lt-answer-hint{color:var(--ink-soft);margin-bottom:16px;font-size:12px}.lt-heard{background:var(--banana-soft);color:var(--ink);text-align:left;border-radius:10px;margin:14px 0 4px;padding:10px 12px;font-size:13px;line-height:1.5}.lt-heard-label{color:var(--banana-deep);font-weight:700}.lt-next{width:100%;margin-top:14px}.lt-evaluating{padding:30px 0}.lt-cefr{font-family:var(--hand,inherit);color:var(--banana-deep);margin:6px 0 14px;font-size:52px;font-weight:700}.lt-scores{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.lt-score-row{align-items:center;gap:10px;font-size:12.5px;display:flex}.lt-score-label{text-align:left;width:64px;color:var(--ink);flex-shrink:0;font-weight:600}.lt-score-track{background:var(--line);border-radius:999px;flex:1;height:10px;overflow:hidden}.lt-score-fill{background:var(--banana-deep);border-radius:999px;height:100%}.lt-score-num{text-align:right;width:28px;color:var(--ink-soft);flex-shrink:0;font-weight:700}.lt-summary{color:var(--ink);text-align:left;margin:0 0 12px;font-size:13px;line-height:1.6}.lt-applied{color:var(--green-deep);margin-bottom:16px;font-size:12.5px;font-weight:700}.paywall-trial-msg{color:var(--green-deep);text-align:center;margin:8px 0 0;font-size:12.5px}.paywall-plan-link{margin-top:8px}.referral{background:var(--surface,#fffef7);border:2px dashed var(--banana-deep);border-radius:var(--r-card);margin:14px 0 4px;padding:16px}.referral-title{font-family:var(--hand,inherit);color:var(--ink);font-size:17px;font-weight:700}.referral-sub{color:var(--ink-soft);margin:2px 0 12px;font-size:12.5px;line-height:1.5}.referral-row{gap:8px;display:flex}.referral-link{border:1.5px solid var(--line);min-width:0;color:var(--ink-soft);background:#fff;border-radius:10px;flex:1;padding:9px 12px;font-size:12.5px}.referral-copy{border:1.5px solid var(--banana-deep);background:var(--banana);color:var(--on-primary,#43342a);cursor:pointer;white-space:nowrap;border-radius:10px;flex-shrink:0;padding:9px 16px;font-size:12.5px;font-weight:700;transition:transform .15s}.referral-copy:hover{transform:translateY(-1px)}.card-mission{background:var(--banana-soft);border:2px solid var(--banana);border-radius:var(--r-sm);margin:8px 0 6px;padding:12px 14px}.hint-toggle{color:var(--banana-deep);cursor:pointer;background:0 0;border:none;padding:2px;font-size:12px;font-weight:700;text-decoration:underline}.hint-drawer{border-top:1px dashed var(--banana-deep);flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;display:flex}.hint-drawer-note{color:var(--ink-soft);margin-bottom:2px;font-size:11.5px}.hint-card{border:1.5px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:12.5px;transition:border-color .15s;display:flex}.hint-card:hover{border-color:var(--banana)}.hint-card.is-revealed{cursor:default;border-color:var(--banana-deep)}.hint-meaning{color:var(--ink);flex:1;min-width:0;font-weight:600}.hint-phrase{color:var(--banana-deep);flex-shrink:0;font-weight:700}.hint-peeked{color:var(--ink-soft);font-size:11px;font-style:normal;font-weight:500}.shadow-player{background:var(--surface,#fffef7);border:2px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-card);margin:14px 0;padding:14px}.shadow-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.shadow-heading{color:var(--ink);font-size:14px;font-weight:700}.shadow-controls{flex-wrap:wrap;gap:6px;display:flex}.shadow-ctl{border:1.5px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;padding:5px 10px;font-size:11.5px;font-weight:700;transition:border-color .15s,background .15s}.shadow-ctl.is-on{border-color:var(--banana-deep);background:var(--banana-soft);color:var(--ink)}.shadow-hint{color:var(--ink-soft);margin:6px 0 10px;font-size:12px}.shadow-embed{aspect-ratio:16/9;background:#000;border-radius:10px;width:100%;margin-bottom:10px;position:relative;overflow:hidden}.shadow-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.shadow-lines{flex-direction:column;gap:4px;max-height:320px;display:flex;overflow-y:auto}.shadow-line{align-items:stretch;gap:6px;display:flex}.shadow-line-main{cursor:pointer;text-align:left;background:0 0;border:1.5px solid #0000;border-radius:10px;flex:1;align-items:flex-start;gap:10px;min-width:0;padding:8px 10px;transition:background .15s,border-color .15s;display:flex}.shadow-line-main:hover{background:var(--banana-soft)}.shadow-line.is-active .shadow-line-main{background:var(--banana-soft);border-color:var(--banana-deep)}.shadow-time{color:var(--banana-deep);flex-shrink:0;padding-top:2px;font-size:11px;font-weight:700}.shadow-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.shadow-en{color:var(--ink);font-size:13.5px;line-height:1.45}.shadow-ko{color:var(--ink-soft);font-size:12px;line-height:1.4}.shadow-save{border:1.5px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;flex-shrink:0;align-self:center;padding:5px 10px;font-size:11px;font-weight:700}.shadow-save:hover:not(:disabled){border-color:var(--banana-deep);color:var(--ink)}.shadow-save:disabled{cursor:default;color:var(--banana-deep)}.shadow-speak{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}.scenario-card.is-personal{border:2px solid var(--banana-deep);background:var(--banana-soft)}.personal-tag{background:var(--banana-deep);color:#fff;vertical-align:2px;border-radius:999px;margin-right:4px;padding:1px 8px;font-size:10.5px;font-weight:800;display:inline-block}.story{max-width:640px}.story-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.story-title{font-family:var(--hand,inherit);color:var(--ink);margin:0;font-size:22px}.story-level{background:var(--banana-soft);border:1.5px solid var(--banana-deep);color:var(--ink);border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:11.5px;font-weight:700}.story-hint{color:var(--ink-soft);margin:6px 0 10px;font-size:12px}.story-toolbar{gap:6px;margin-bottom:14px;display:flex}.story-body{background:var(--surface,#fffef7);border:2px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);flex-direction:column;gap:8px;margin-bottom:16px;padding:16px;display:flex}.story-line{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.story-sentence{cursor:pointer;text-align:left;color:var(--ink);background:0 0;border:none;padding:0;font-family:inherit;font-size:16px;line-height:1.65}.story-sentence:hover{background:var(--banana-soft);border-radius:6px}.story-translation{color:var(--ink-soft);border-left:3px solid var(--banana);flex-basis:100%;margin-left:2px;padding:2px 8px 6px;font-size:13px}.story-exprs{flex-direction:column;gap:8px;display:flex}.trial-banner{background:var(--banana-soft);border:2px solid var(--banana-deep);border-radius:var(--r-sm);color:var(--ink);justify-content:space-between;align-items:center;gap:10px;margin:4px 0 12px;padding:11px 16px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .15s;display:flex}.trial-banner:hover{transform:translateY(-1px)}.trial-banner-cta{color:var(--banana-deep);flex-shrink:0}.ref-toast{background:var(--banana-soft);border:2px solid var(--banana-deep);border-radius:var(--r-sm);color:var(--ink);margin:4px 0 12px;padding:11px 16px;font-size:13px;font-weight:700;animation:.35s used-pop}.referral-rewards{color:var(--banana-deep);margin-top:8px;font-size:12px;font-weight:700}.invite-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.invite-card{background:var(--surface,#fffef7);border:2px solid var(--banana);border-radius:var(--r-card);width:min(440px,100%);box-shadow:var(--shadow-card);text-align:center;padding:28px 24px}.invite-logo{object-fit:contain;width:64px;height:64px;margin-bottom:8px}.invite-heading{font-family:var(--hand,inherit);color:var(--ink);margin:0 0 6px;font-size:26px}.invite-sub{color:var(--ink-soft);margin:0 0 16px;font-size:14px}.invite-perks{text-align:left;color:var(--ink);flex-direction:column;gap:8px;margin:0 0 20px;padding:0;font-size:13.5px;list-style:none;display:flex}.invite-cta{text-align:center;width:100%;display:inline-block}.invite-note{color:var(--ink-soft);margin:10px 0 0;font-size:12px}.lt-share{width:100%;margin-bottom:8px}.lt-share-msg{color:var(--green-deep);margin:0 0 10px;font-size:12.5px}.lt-share-flag{margin-bottom:4px;font-size:44px;line-height:1}.level-test-cefr{color:var(--banana-deep);font-weight:800}.learn-page{min-height:100dvh;padding:32px 20px 60px}.learn-shell{max-width:640px;margin:0 auto}.learn-brand a{color:var(--ink-soft);font-size:14px;font-weight:700;text-decoration:none}.learn-title{font-family:var(--hand,inherit);color:var(--ink);margin:14px 0 6px;font-size:30px}.learn-desc{color:var(--ink-soft);margin:0 0 8px;font-size:14.5px;line-height:1.6}.learn-heading{color:var(--ink);margin:26px 0 10px;font-size:16px;font-weight:800}.learn-goals{color:var(--ink);margin:0;padding-left:20px;font-size:14px;line-height:1.8}.learn-dialogue{flex-direction:column;gap:10px;display:flex}.learn-line{background:var(--surface,#fffef7);border:1.5px solid var(--line);border-radius:14px;align-self:flex-start;max-width:88%;padding:10px 14px}.learn-line.is-a{background:var(--banana-soft);border-color:var(--banana);align-self:flex-end}.learn-line-target{color:var(--ink);font-size:15px;line-height:1.5}.learn-line-tr{color:var(--ink-soft);margin-top:3px;font-size:12.5px}.learn-exprs{flex-direction:column;gap:8px;display:flex}.learn-expr{background:var(--banana-soft);border-radius:10px;justify-content:space-between;gap:12px;padding:10px 14px;font-size:13.5px;display:flex}.learn-expr-phrase{color:var(--ink);font-weight:700}.learn-expr-meaning{color:var(--ink-soft);text-align:right}.learn-cta-box{text-align:center;margin:28px 0 6px}.learn-cta{padding:14px 28px;font-size:16px;display:inline-block}.learn-cta-sub{color:var(--ink-soft);margin:8px 0 0;font-size:12px}.learn-others{flex-wrap:wrap;gap:8px;display:flex}.learn-other{background:var(--surface,#fffef7);border:1.5px solid var(--line);color:var(--ink);border-radius:999px;padding:8px 14px;font-size:13px;text-decoration:none;transition:border-color .15s}.learn-other:hover{border-color:var(--banana)}.script-find{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.script-find-label{color:var(--ink);flex-shrink:0;font-size:12.5px;font-weight:700}.script-find-input{flex:1;min-width:160px;margin:0}.script-find-hint{color:var(--ink-soft);margin:6px 0 0;font-size:12px}