@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-normal-400-800-latin-ext.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:Bricolage Grotesque;font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-normal-400-800-latin.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}:root{--paper:#fdf5f8;--paper-subtle:#f5edf1;--paper-deep:#ede7db;--card:#fff;--card-elevated:#fff;--ink:#121815;--ink-soft:#3b4740;--ink-muted:#5f6e66;--ink-faint:#8d9c94;--line:#121815;--line-subtle:#e2ddd3;--line-light:#ece7de;--rosa:#e4007c;--rosa-dark:#b30060;--rosa-soft:#fdf0f7;--rosa-glow:#e4007c33;--turquesa:#b7d3c2;--turquesa-dark:#234734;--turquesa-deep:#2d5a43;--turquesa-soft:#eaf3ed;--turquesa-border:#9ec2ad;--turquesa-glow:#b7d3c259;--tezontle:#d32f2f;--tezontle-dark:#991b1b;--tezontle-soft:#fef2f2;--tezontle-glow:#d32f2f33;--cempasuchil:#f59e0b;--cempasuchil-dark:#b45309;--cempasuchil-soft:#fef8ee;--cempasuchil-glow:#f59e0b33;--maya:#0284c7;--maya-dark:#0369a1;--maya-soft:#f0f9ff;--maya-glow:#0284c733;--verde:#15803d;--verde-dark:#14532d;--verde-soft:#f0fdf4;--verde-glow:#15803d33;--shadow-sm:2px 2px 0 #1218152e;--shadow-md:3px 3px 0 #1218152e;--shadow-lg:4px 4px 0 #1218152e;--shadow-card:4px 4px 0 #1218152e;--shadow-soft:0 4px 20px -2px #12181514;--ease-spring:cubic-bezier(.16, 1, .3, 1);--ease-snap:cubic-bezier(.2, 0, 0, 1);--pill-height:32px;--pill-height-sm:24px;--pill-radius:999px;--font-serif:"Bricolage Grotesque", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-sans:"Bricolage Grotesque", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--display-weight:700;--display-letter-spacing:-1.2px;--brand-weight:800;--brand-letter-spacing:-.6px;--phrase-letter-spacing:-.8px;font-family:var(--font-sans);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;touch-action:manipulation;overscroll-behavior-y:none;-webkit-text-size-adjust:100%;min-width:320px}body{min-width:320px;min-height:100dvh;color:var(--ink);background:var(--paper);touch-action:manipulation;overscroll-behavior-y:none;margin:0;line-height:1.5}button,input,textarea,select,summary,a{font:inherit;touch-action:manipulation}button,summary{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,.hero-scroll-cue:focus-visible{outline:2.5px solid var(--rosa);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100dvh;padding-top:max(16px, env(safe-area-inset-top));padding-right:max(clamp(20px, 5vw, 80px), env(safe-area-inset-right));padding-bottom:max(40px, env(safe-area-inset-bottom));padding-left:max(clamp(20px, 5vw, 80px), env(safe-area-inset-left));flex-direction:column;display:flex;position:relative}.app-main{flex-direction:column;flex:1;display:flex}.topbar{z-index:10;justify-content:space-between;align-items:center;gap:20px;width:min(1080px,100%);margin:0 auto;padding:0;display:flex;position:relative}.brand{color:var(--ink);font-family:var(--font-serif);font-size:32px;font-weight:var(--brand-weight,800);letter-spacing:-1.2px;transition:background .18s ease, border-color .18s ease, transform .18s var(--ease-spring);background:0 0;border:2px solid #0000;border-radius:20px;align-items:center;gap:12px;margin-left:-14px;padding:4px 14px;line-height:1;display:inline-flex}.brand:hover{background:var(--paper-subtle);border-color:var(--line);transform:translateY(-2px)}.brand:active{transform:translateY(1px)}.brand-mark{vertical-align:middle;width:34px;height:34px;transition:transform .26s var(--ease-spring);flex-shrink:0;display:inline-block;overflow:visible}.jolito-gill{fill:var(--rosa);transform-box:view-box;transition:transform .32s var(--ease-spring)}.gill-tl{transform-origin:8.5px 8.75px;transform:rotate(-22deg)}.gill-ml{transform-origin:7px 16px;transform:rotate(0)}.gill-bl{transform-origin:8.5px 23.25px;transform:rotate(22deg)}.gill-tr{transform-origin:23.5px 8.75px;transform:rotate(22deg)}.gill-mr{transform-origin:25px 16px;transform:rotate(0)}.gill-br{transform-origin:23.5px 23.25px;transform:rotate(-22deg)}.jolito-core{transform-box:view-box;transform-origin:16px 16px;transition:transform .26s var(--ease-spring)}.jolito-core-outer{fill:var(--ink)}.jolito-core-mid{fill:var(--cempasuchil)}.jolito-core-inner{fill:#fff}.nav-actions{align-items:center;gap:16px;display:flex}.connection-pill{height:var(--pill-height);min-height:var(--pill-height);max-height:var(--pill-height);box-sizing:border-box;border:1.5px solid var(--line);border-radius:var(--pill-radius);background:var(--card);color:var(--ink);letter-spacing:-.1px;box-shadow:var(--shadow-sm);cursor:pointer;white-space:nowrap;transition:all .14s var(--ease-spring);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.connection-pill .pill-icon{flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;display:inline-flex}.connection-pill .pill-icon svg{width:15px;height:15px;display:block}.connection-pill.is-signed-out{background:var(--card);border-color:var(--line);color:var(--ink)}.connection-pill.is-signed-out:hover{background:var(--turquesa-soft);border-color:var(--line);color:var(--ink);box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.connection-pill.is-synced{background:var(--turquesa-soft);border-color:var(--turquesa-border);color:var(--turquesa-dark)}.connection-pill.is-synced:hover{border-color:var(--line);color:var(--ink);box-shadow:3px 3px 0 var(--ink);background:#d8eadf;transform:translate(-1px,-1px)}.connection-pill.is-syncing{background:var(--turquesa-soft);border-color:var(--turquesa-deep);color:var(--turquesa-dark)}.connection-pill.is-syncing .pill-icon svg,.sync-spinner.is-spinning,.icon-sync-spinner.is-spinning{animation:1s linear infinite spin}.connection-pill.is-offline{background:var(--cempasuchil-soft);border-color:var(--cempasuchil);color:var(--cempasuchil-dark)}.connection-pill.is-offline:hover{border-color:var(--line);color:var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fdf0d8;transform:translate(-1px,-1px)}.connection-pill.is-error{background:var(--tezontle-soft);border-color:var(--tezontle);color:var(--tezontle-dark)}.connection-pill.is-error:hover{border-color:var(--line);color:var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fde2e2;transform:translate(-1px,-1px)}.connection-pill:active{box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}.connection-pill:focus-visible{outline:2.5px solid var(--rosa);outline-offset:2px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.text-button{height:var(--pill-height);min-height:var(--pill-height);max-height:var(--pill-height);box-sizing:border-box;border:1.5px solid var(--line);border-radius:var(--pill-radius);color:var(--ink);background:var(--card);letter-spacing:-.1px;box-shadow:var(--shadow-sm);cursor:pointer;white-space:nowrap;transition:all .14s var(--ease-spring);justify-content:center;align-items:center;gap:8px;padding:0 14px;font-family:inherit;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.text-button:hover{background:var(--turquesa-soft);border-color:var(--line);box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.text-button:active{box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}.text-button b{box-sizing:border-box;border:1.5px solid var(--line);border-radius:var(--pill-radius);min-width:20px;height:18px;min-height:18px;max-height:18px;color:var(--card);background:var(--rosa-dark);text-align:center;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.eyebrow{color:var(--rosa-dark);font-family:var(--font-mono);letter-spacing:1.8px;text-transform:uppercase;margin:0 0 12px;font-size:11px;font-weight:800}.primary-button,.secondary-button{border:2px solid var(--line);border-radius:var(--pill-radius);letter-spacing:-.2px;min-height:50px;transition:all .14s var(--ease-spring);justify-content:center;align-items:center;padding:12px 28px;font-size:15px;font-weight:700;display:inline-flex;position:relative}.primary-button{color:#fff;background:var(--ink);box-shadow:4px 4px 0 var(--rosa)}.primary-button:hover{box-shadow:6px 6px 0 var(--rosa-dark);background:#25332c;transform:translate(-2px,-2px)}.primary-button:active{box-shadow:1px 1px 0 var(--rosa-dark);transform:translate(2px,2px)}.primary-button span{margin-left:8px;font-size:16px;line-height:0;transition:transform .15s}.primary-button:hover span{transform:translate(4px)}.secondary-button{color:var(--ink);background:var(--card);box-shadow:2px 2px 0 var(--turquesa-deep)}.secondary-button:hover{background:var(--paper-subtle);box-shadow:4px 4px 0 var(--turquesa-dark);transform:translate(-2px,-2px)}.secondary-button:active{box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}.welcome-page{background:var(--paper)}.welcome-page .lede{color:var(--ink-soft)}.welcome-hero{width:min(1080px,100%);min-height:calc(100svh - max(16px, env(safe-area-inset-top)) - 46px);box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;margin:0 auto;padding:clamp(16px,2.5vh,32px) 0 20px;display:flex}.welcome-hero-main{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(32px,5vw,64px);width:100%;margin-top:clamp(8px,2vh,28px);display:grid}.welcome-hero-footer{box-sizing:border-box;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:8px;width:100%;max-width:100%;margin-top:auto;padding-top:24px;display:grid}.welcome-hero-footer-spacer{min-width:0}.welcome-hero-footer .hero-scroll-cue{grid-column:2;justify-self:center;margin-top:0}.welcome-hero-footer .app-footer{grid-column:3;justify-self:end;width:auto;min-width:0;margin-top:0;padding-top:0}.hero-scroll-cue{letter-spacing:-.2px;min-height:50px;color:var(--ink);background:var(--card);border:2px solid var(--line);border-radius:var(--pill-radius);box-shadow:2px 2px 0 var(--ink);cursor:pointer;transition:transform .14s var(--ease-spring), box-shadow .14s ease, background-color .14s ease, color .14s ease;justify-content:center;align-items:center;gap:8px;margin-top:24px;padding:12px 28px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.hero-scroll-cue:hover{box-shadow:3px 3px 0 var(--ink);color:var(--ink);background:var(--paper-subtle);transform:translate(-1px,-1px)}.hero-scroll-cue:active{box-shadow:1px 1px 0 var(--ink);transform:translate(1px,1px)}.scroll-cue-arrow{font-size:15px;line-height:0;transition:transform .15s}.hero-scroll-cue:hover .scroll-cue-arrow{transform:translateY(3px)}.hero-copy{z-index:2;position:relative}.welcome-mascot-img{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;width:124px;height:124px;margin-bottom:16px;display:block;transform:scaleX(-1)}.hero-copy h1,.create-layout h1,.complete-card h1{font-family:var(--font-serif);font-size:clamp(46px,5.4vw,70px);font-weight:var(--display-weight,600);letter-spacing:var(--display-letter-spacing,-2px);color:var(--ink);margin:0;line-height:1.06}.hero-copy h1 em{color:var(--rosa-dark);text-decoration:underline;-webkit-text-decoration-color:var(--cempasuchil);text-decoration-color:var(--cempasuchil);text-underline-offset:6px;font-style:italic;font-weight:600;text-decoration-thickness:4px}.lede{max-width:480px;color:var(--ink-soft);margin:22px 0 32px;font-size:18px;line-height:1.6}.hero-actions,.complete-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.hero-visual{justify-content:center;align-items:center;min-height:460px;display:flex;position:relative}.sample-card{border:2.5px solid var(--line);width:min(310px,76vw);height:360px;transition:transform .32s var(--ease-spring), box-shadow .32s var(--ease-spring), opacity .32s var(--ease-spring);box-sizing:border-box;text-align:left;cursor:pointer;will-change:transform;border-radius:24px;flex-direction:column;justify-content:space-between;padding:26px;display:flex;position:absolute;top:50%;left:50%;overflow:hidden}.flag-icon{vertical-align:-1px;border-radius:2px;flex-shrink:0;display:inline-block;overflow:hidden;box-shadow:0 0 0 1px #12181540}.sample-badge{font-family:var(--font-mono);letter-spacing:1.2px;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.sample-phrase{font-family:var(--font-serif);letter-spacing:var(--phrase-letter-spacing,-1.2px);margin:0}.sample-card.is-foreground{box-shadow:6px 6px 0 var(--card-shadow-color);z-index:2;transform:translate(calc(-50% - 48px),calc(40px - 50%))rotate(-3deg)}.sample-card.is-foreground:hover{box-shadow:8px 8px 0 var(--card-shadow-hover);transform:translate(calc(-50% - 51px),calc(36px - 50%))rotate(-3deg)}.sample-card.is-foreground:active{box-shadow:2px 2px 0 var(--card-shadow-hover);transform:translate(calc(-50% - 46px),calc(42px - 50%))rotate(-3deg)}.sample-card.is-background{box-shadow:6px 6px 0 var(--card-shadow-color);z-index:1;opacity:.98;transform:translate(calc(48px - 50%),calc(-50% - 40px))rotate(5deg)}.sample-card.is-background:hover{opacity:1;box-shadow:8px 8px 0 var(--card-shadow-hover);transform:translate(calc(45px - 50%),calc(-50% - 44px))rotate(5deg)}.sample-card.is-background:active{box-shadow:2px 2px 0 var(--card-shadow-hover);transform:translate(calc(50px - 50%),calc(-50% - 38px))rotate(5deg)}.sample-card:focus-visible{outline:3px solid var(--rosa);outline-offset:4px}.sample-card-es{--card-shadow-color:var(--rosa);--card-shadow-hover:var(--rosa-dark);color:var(--ink);background:var(--card)}.sample-card-es .sample-card-header .sample-badge{color:var(--rosa-dark)}.sample-card-es .sample-card-body .sample-phrase{color:var(--ink)}.sample-card-es .sample-listen-hint{border:1.5px solid var(--line);background:var(--paper-subtle);color:var(--ink);box-shadow:2px 2px 0 var(--rosa)}.sample-card-es:hover .sample-listen-hint,.sample-card-es.is-playing .sample-listen-hint{background:var(--rosa-dark);color:#fff;border-color:var(--line)}.sample-card-es.is-playing{box-shadow:10px 10px 0 var(--rosa-dark), 10px 10px 0 2px var(--ink)}.sample-card-en{--card-shadow-color:var(--turquesa-dark);--card-shadow-hover:var(--turquesa-dark);color:var(--ink);background:var(--turquesa)}.sample-card-en:focus-visible{outline-color:var(--ink)}.sample-card-en .sample-card-header .sample-badge{color:var(--ink)}.sample-card-en .sample-card-body .sample-phrase{color:var(--ink);font-size:38px}.sample-card-en .sample-card-body .sample-phrase.is-medium{font-size:26px}.sample-card-en .sample-card-body .sample-phrase.is-long{font-size:20px}.sample-card-en .sample-listen-hint{border:1.5px solid var(--line);color:var(--ink);box-shadow:2px 2px 0 var(--turquesa-dark);background:#fff}.sample-card-en:hover .sample-listen-hint,.sample-card-en.is-playing .sample-listen-hint{background:var(--turquesa-dark);color:#fff;border-color:var(--line)}.sample-card-en.is-playing{box-shadow:10px 10px 0 var(--turquesa-dark), 10px 10px 0 2px var(--ink)}.sample-card.is-playing .sample-illustration{animation:sample-bounce 1.2s var(--ease-spring)}@keyframes sample-bounce{0%{transform:scale(1)}30%{transform:scale(1.15)rotate(-5deg)}65%{transform:scale(1.06)rotate(3deg)}to{transform:scale(1)rotate(0)}}.sample-card-header{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.sample-card-body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;width:100%;max-height:100%;margin:4px 0 0;display:flex;position:relative;overflow:hidden}.sample-illustration{justify-content:center;align-items:center;width:140px;height:172px;display:flex;position:relative}.sample-art-image{object-fit:contain;filter:drop-shadow(2.5px 3.5px #1c191773);width:100%;height:100%;display:block}.sample-card-body .sample-phrase{font-family:var(--font-serif);font-size:40px;font-weight:var(--display-weight,600);letter-spacing:var(--phrase-letter-spacing,-1.2px);text-align:center;overflow-wrap:break-word;word-break:break-word;-webkit-line-clamp:6;-webkit-box-orient:vertical;margin:0;line-height:1.15;display:-webkit-box;overflow:hidden}.sample-card-body .sample-phrase.is-medium{letter-spacing:-.6px;-webkit-line-clamp:7;font-size:26px;line-height:1.25}.sample-card-body .sample-phrase.is-long{letter-spacing:-.3px;-webkit-line-clamp:8;font-size:20px;line-height:1.3}.sample-listen-hint{width:var(--pill-height-sm);height:var(--pill-height-sm);min-width:var(--pill-height-sm);min-height:var(--pill-height-sm);box-sizing:border-box;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .14s;display:inline-flex}.sample-listen-hint svg{fill:currentColor;width:13px;height:13px;transition:transform .14s}.sample-card.is-playing .sample-listen-hint svg{animation:.8s ease-in-out infinite alternate audio-pulse}@keyframes audio-pulse{0%{transform:scale(1)}to{transform:scale(1.2)}}:is(html:has(.welcome-page),body:has(.welcome-page)){scroll-snap-type:y mandatory}.welcome-page .topbar{scroll-snap-align:start;scroll-margin-top:max(16px, env(safe-area-inset-top))}.welcome-why{box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;min-height:100svh;margin:0 calc(-1 * max(clamp(20px, 5vw, 80px), env(safe-area-inset-right))) calc(-1 * max(40px, env(safe-area-inset-bottom))) calc(-1 * max(clamp(20px, 5vw, 80px), env(safe-area-inset-left)));padding:clamp(48px, 8vh, 80px) max(clamp(20px, 5vw, 80px), env(safe-area-inset-right)) clamp(48px, 8vh, 80px) max(clamp(20px, 5vw, 80px), env(safe-area-inset-left));background:linear-gradient(180deg, var(--paper-subtle) 0%, var(--paper-deep) 100%);flex-direction:column;justify-content:center;align-items:center;scroll-margin-top:0;display:flex}.why-inner{text-align:center;flex-direction:column;align-items:center;gap:clamp(16px,2.5vh,24px);width:min(680px,100%);margin:0 auto;display:flex}.why-family-hero{justify-content:center;align-items:center;width:100%;display:flex}.why-family-img{object-fit:contain;filter:drop-shadow(0 8px 24px #00000014);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;max-width:100%;height:clamp(120px,18vh,180px)}.why-header{text-align:center;max-width:640px;margin:0 auto}.why-eyebrow{color:var(--rosa-dark);letter-spacing:1.2px;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:700}.why-header h2{font-family:var(--font-serif);font-size:clamp(30px,4.2vw,44px);font-weight:var(--display-weight,600);letter-spacing:var(--display-letter-spacing,-1px);color:var(--ink);margin:0;line-height:1.15}.why-story{text-align:left;flex-direction:column;gap:16px;max-width:640px;display:flex}.why-story p{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:clamp(16px,1.9vw,19px);line-height:1.68}.why-story strong{color:var(--ink);font-weight:700}.why-story em{color:var(--ink);font-style:italic}.why-story a{color:var(--rosa-dark);text-underline-offset:3px;font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;transition:color .12s}.why-story a:hover{color:var(--ink)}.why-story a:focus-visible{outline:2px solid var(--maya-dark);outline-offset:2px;border-radius:2px}.why-resolution{padding-top:4px}.why-actions{justify-content:center;align-items:center;margin-top:clamp(8px,1.5vh,16px);display:flex}.why-start-button{letter-spacing:-.2px;border-radius:var(--pill-radius);justify-content:center;align-items:center;gap:8px;min-height:50px;padding:12px 28px;font-size:15px;font-weight:700;display:inline-flex}.why-start-button span{margin-left:0;font-size:15px;line-height:0;transition:transform .15s}.why-start-button:hover span{transform:translateY(-3px)}@media (height<=520px){:is(html:has(.welcome-page),body:has(.welcome-page)){scroll-snap-type:none}.welcome-why{min-height:auto}}.create-page{background:var(--paper)}.create-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(24px,5vw,48px);width:min(1080px,100%);margin:clamp(16px,3vh,32px) auto 40px;display:grid}.create-sidebar{flex-direction:column;gap:24px;min-width:0;display:flex;position:sticky;top:32px}.create-sidebar header h1{font-family:var(--font-serif);letter-spacing:-1px;color:var(--ink);margin:0 0 8px;font-size:clamp(38px,4.5vw,46px);font-weight:700;line-height:1.1}.create-sidebar header .lede{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.45}.create-visual{place-items:center;width:100%;min-height:420px;margin-top:36px;display:grid;position:relative}.create-visual .sample-card{border-radius:24px;width:310px;height:360px;padding:26px}.create-visual .sample-card-body{text-align:center;justify-content:center;align-items:center;gap:12px;padding:20px 0}.create-visual .sample-phrase{font-size:32px;line-height:1.2}.sample-card .sample-card-body .sample-phrase.is-placeholder,.create-visual .sample-phrase.is-placeholder,.sample-phrase.is-placeholder{color:var(--ink-faint);opacity:.55;font-style:italic;font-weight:500}.create-card-context-preview{color:var(--ink-muted);max-width:240px;margin:0;font-size:13px;font-style:italic;line-height:1.4}.create-form{border:2px solid var(--line);background:var(--card);box-shadow:var(--shadow-card);border-radius:24px;min-width:0;padding:clamp(24px,4vw,36px)}.field-group{margin-bottom:20px}.field-group label,.compact-fields label{color:var(--ink);letter-spacing:-.2px;align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.field-group textarea,.field-group input,.form-details textarea,.compact-fields input{box-sizing:border-box;border:2px solid var(--line);width:100%;max-width:100%;color:var(--ink);resize:vertical;background:#fff;border-radius:14px;font-family:inherit;transition:border-color .14s,box-shadow .14s}.field-group textarea:focus,.field-group input:focus,.form-details textarea:focus,.compact-fields input:focus{border-color:var(--rosa);box-shadow:3px 3px 0 var(--ink);outline:none}.field-group textarea{min-height:72px;font-family:var(--font-serif);margin-top:8px;padding:14px 16px;font-size:19px;line-height:1.4}.field-group textarea#context{min-height:64px;font-family:var(--font-sans);font-size:16px;line-height:1.5}.field-group input{min-height:48px;margin-top:8px;padding:12px 16px;font-size:16px}.field-group textarea::placeholder,.field-group input::placeholder,.form-details textarea::placeholder,.compact-fields input::placeholder{color:var(--ink-faint)}.field-group-relative{min-width:0;position:relative}.suggestions-container{box-sizing:border-box;z-index:50;border:2px solid var(--ink);width:100%;max-width:100%;box-shadow:4px 4px 0 var(--ink);background:#fff;border-radius:16px;flex-direction:column;display:flex;position:absolute;top:calc(100% - 8px);left:0;right:0;overflow:hidden}.suggestions-header{border-bottom:1px solid var(--line);background:#faf8f5;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.suggestions-header-label{text-transform:uppercase;letter-spacing:.5px;color:var(--ink-muted);font-size:11px;font-weight:800}.suggestions-dismiss-button{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:4px;padding:4px 8px;font-family:inherit;font-size:12px;font-weight:700;transition:background .1s,color .1s;display:inline-flex}.suggestions-dismiss-button:hover,.suggestions-dismiss-button:focus-visible{background:var(--line);color:var(--ink);outline:none}.suggestions-listbox{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;max-height:240px;margin:0;padding:6px;list-style:none;overflow-y:auto}.suggestion-item{cursor:pointer;touch-action:pan-y;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;box-sizing:border-box;border:1px solid #0000;border-radius:10px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;transition:background .1s,border-color .1s;display:flex}.suggestion-item:hover,.suggestion-item.is-active{border-color:var(--ink);background:#fffde6}.suggestion-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.suggestion-spanish,.suggestion-primary{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.suggestion-lemma-badge,.suggestion-fuzzy-badge{color:var(--ink-muted,#666);background:var(--paper-subtle,#f5f5f0);border:1px solid var(--line,#e2e2da);white-space:nowrap;border-radius:6px;flex-shrink:0;margin-left:auto;padding:1px 6px;font-size:11px;font-weight:500}.create-duplicate-notice{background:var(--cempasuchil-soft);border:1.5px solid var(--cempasuchil);box-sizing:border-box;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-width:0;max-width:100%;margin-top:6px;margin-bottom:6px;padding:10px 14px;display:flex}.create-duplicate-info{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.create-duplicate-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--cempasuchil-dark);border:1px solid var(--cempasuchil);white-space:nowrap;background:#fef3c7;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:2px 6px;font-size:11px;font-weight:800;display:inline-flex}.create-duplicate-text{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.create-duplicate-text strong{color:var(--ink);font-weight:700}.create-duplicate-schedule{color:var(--ink-muted);font-size:12px}.create-duplicate-action{color:var(--cempasuchil-dark);text-underline-offset:2px;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:12px;font-weight:700;text-decoration:underline;transition:background .12s}.create-duplicate-action:hover,.create-duplicate-action:focus-visible{background:#f59e0b26}.deck-card-duplicate-pill{text-transform:uppercase;letter-spacing:.03em;color:var(--cempasuchil-dark);border:1px solid var(--cempasuchil);vertical-align:middle;background:#fef3c7;border-radius:5px;flex-shrink:0;align-items:center;gap:3px;padding:1px 5px;font-size:10px;font-weight:700;display:inline-flex}.edit-duplicate-notice{background:var(--cempasuchil-soft);border-color:var(--cempasuchil);color:var(--cempasuchil-dark);margin-bottom:12px}.suggestion-tag{text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--ink);white-space:nowrap;border-radius:6px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:800}.tag-slang{background:#ffd6e0}.tag-idiom{background:#e2f0d9}.tag-food{background:#fff2cc}.tag-travel{background:#c5e3f6}.tag-basics,.tag-common{background:#eaeaea}.suggestion-english,.suggestion-secondary{color:var(--ink);overflow-wrap:break-word;word-break:break-word;min-width:0;font-size:13px;font-weight:500}.suggestion-context{color:var(--ink-muted,#666);overflow-wrap:break-word;word-break:break-word;min-width:0;margin-top:2px;font-size:11px;font-style:italic}.toggle-row{background:var(--paper-subtle);border:1.5px solid var(--line);box-shadow:var(--shadow-sm);cursor:pointer;color:var(--ink);border-radius:14px;align-items:center;gap:12px;margin-top:12px;margin-bottom:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background .14s,transform .14s;display:flex}.toggle-row:hover{box-shadow:2px 2px 0 var(--ink);background:#eee8dc;transform:translate(-1px,-1px)}.toggle-row input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.toggle{box-sizing:border-box;border:2px solid var(--line);border-radius:var(--pill-radius);pointer-events:none;width:44px;height:24px;transition:background .16s var(--ease-spring);background:#cbd5e1;flex:0 0 44px;position:relative}.toggle:after{content:"";box-sizing:border-box;border:1.5px solid var(--line);width:16px;height:16px;transition:transform .16s var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.toggle-row input:checked+.toggle{background:var(--rosa)}.toggle-row input:checked+.toggle:after{transform:translate(20px)}.toggle-row input:focus-visible+.toggle{outline:3px solid var(--rosa);outline-offset:3px}.toggle-row.disabled{opacity:.6;cursor:not-allowed;box-shadow:var(--shadow-sm)!important;background:var(--paper-subtle)!important;transform:none!important}.toggle-row:has(input:disabled){opacity:.6;cursor:not-allowed;box-shadow:var(--shadow-sm)!important;background:var(--paper-subtle)!important;transform:none!important}.toggle-row input:disabled+.toggle{cursor:not-allowed;background:#cbd5e1}.toggle-label-group{flex-direction:column;gap:2px;display:flex}.toggle-title{color:var(--ink);font-size:13.5px;font-weight:700}.toggle-description{color:var(--ink-soft);font-size:12px;font-weight:500}.form-details{border-top:1.5px solid var(--line-subtle);color:var(--ink-soft);margin-top:4px;margin-bottom:8px}.form-details summary{color:var(--ink-soft);cursor:pointer;padding:10px 2px;font-size:13px;font-weight:700;transition:color .12s}.form-details summary:hover{color:var(--ink)}.compact-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding-bottom:8px;display:grid}.compact-fields input{margin-top:6px;padding:10px 14px;font-size:16px}.save-button{width:100%;transition:all .18s var(--ease-spring);margin-top:18px}.save-button span{line-height:inherit;font-size:inherit;margin-left:0;transition:none}.save-button:hover span{transform:none}.save-button.is-saved{background:var(--verde);color:#fff;border-color:var(--verde-dark);box-shadow:4px 4px 0 var(--verde-dark);animation:saveButtonPop .32s var(--ease-spring)}.save-button.is-saved:hover{background:var(--verde-dark);box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.save-button.is-saved:active{box-shadow:1px 1px 0 var(--verde-dark);transform:translate(2px,2px)}.save-button-saved{justify-content:center;align-items:center;gap:8px;max-width:100%;padding:0 4px;animation:.2s ease-out saveTextFade;display:inline-flex}.save-button-check{animation:saveCheckmarkBounce .35s var(--ease-spring);flex-shrink:0;font-size:16px;font-weight:800;display:inline-block}.save-button-text{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@keyframes saveButtonPop{0%{transform:scale(.95)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes saveTextFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes saveCheckmarkBounce{0%{opacity:0;transform:scale(.5)rotate(-15deg)}60%{opacity:1;transform:scale(1.25)rotate(5deg)}to{transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.save-button.is-saved,.save-button-saved,.save-button-check,.sync-now-button.is-synced,.sync-button-synced,.sync-button-check,.export-button.is-exported,.export-button-exported,.export-button-check,.resend-button-sent,.resend-button-check,.paste-input-btn.is-pasted,.sample-card.is-playing .sample-listen-hint svg{animation:none}.review-progress-bar{transition:none}}.review-page{background:var(--paper)}.review-progress-track{background:var(--line-light);border-radius:var(--pill-radius);width:min(1080px,100%);height:3px;margin:16px auto 0;position:relative;overflow:hidden}.review-progress-bar{background:var(--rosa);border-radius:var(--pill-radius);height:100%;transition:width .28s var(--ease-spring)}.study-card{text-align:center;width:min(560px,100%);margin:clamp(28px,4.5vh,48px) auto 0;position:relative}.study-prompt-wrap{justify-content:center;align-items:flex-start;gap:14px;max-width:100%;display:inline-flex}.study-prompt-wrap .audio-button{margin-top:4px}.study-prompt{max-width:560px;font-family:var(--font-serif);font-size:clamp(36px,4.8vw,50px);font-weight:var(--display-weight,700);letter-spacing:var(--display-letter-spacing,-1.2px);color:var(--ink);overflow-wrap:break-word;word-break:break-word;margin:0;line-height:1.15}.study-prompt.is-medium{letter-spacing:-.6px;font-size:clamp(26px,3.6vw,34px);line-height:1.25}.study-prompt.is-long{letter-spacing:-.3px;font-size:clamp(20px,2.8vw,26px);line-height:1.35}.prompt-meta{justify-content:center;align-items:center;margin:10px auto 24px;display:flex}.prompt-meta .eyebrow{align-items:center;gap:6px;margin:0;display:inline-flex}.audio-button{border:2px solid var(--line);width:38px;height:38px;color:var(--ink);background:var(--card);box-shadow:var(--shadow-sm);transition:all .14s var(--ease-spring);border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.audio-button:hover{background:var(--turquesa-soft);box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.audio-button:active{box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}.audio-button svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.answer-form{max-width:560px;margin:0 auto;position:relative}.answer-input{border:2.5px solid var(--line);width:100%;color:var(--ink);text-align:center;box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:14px 140px 14px 18px;font-family:inherit;font-size:21px;transition:border-color .14s,box-shadow .14s}.answer-input:focus{border-color:var(--rosa);box-shadow:var(--shadow-md);outline:none}.answer-input[readonly]{color:var(--ink-soft);background:var(--paper-subtle);padding-right:18px}.reveal-button{border:1.5px solid var(--line);color:var(--ink);background:var(--card);box-shadow:2px 2px 0 var(--ink);transition:all .12s var(--ease-spring);border-radius:10px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.reveal-button:hover{background:var(--turquesa-soft);box-shadow:3px 3px 0 var(--ink);transform:translateY(calc(-50% - 1px))}.reveal-button:active{box-shadow:0 0 0 var(--ink);transform:translateY(calc(1px - 50%))}kbd{border:1.5px solid var(--line);color:var(--ink);font-family:var(--font-mono);background:#fbf9f5;border-bottom-width:2.5px;border-radius:6px;justify-content:center;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex;box-shadow:0 1px #0000001a}.audio-unavailable{color:var(--tezontle-dark);margin:14px auto 0;font-size:12px;font-weight:600}.reveal-panel{border:2.5px solid var(--line);background:var(--card);box-shadow:var(--shadow-card);text-align:left;animation:slideUp .22s var(--ease-spring);border-radius:22px;margin-top:22px;padding:22px 26px}.reveal-content{flex-direction:column;gap:14px;display:flex}.reveal-main{flex-direction:column;gap:12px;min-width:0;display:flex}.answer-comparison{margin:0}.diff-exact-card{border:2px solid var(--line);background:var(--turquesa-soft);box-shadow:3px 3px 0 var(--turquesa-deep);border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.diff-exact-main{align-items:center;gap:12px;display:flex}.diff-card{border:2px solid var(--line);background:var(--paper-subtle);box-shadow:3px 3px 0 var(--cempasuchil);border-radius:16px;padding:16px 18px}.diff-card-header{border-bottom:1.5px solid var(--line-subtle);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.diff-card-title{font-family:var(--font-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:800}.diff-badge{height:var(--pill-height-sm);min-height:var(--pill-height-sm);max-height:var(--pill-height-sm);box-sizing:border-box;border:1.5px solid var(--line);border-radius:var(--pill-radius);font-size:11px;font-weight:800;font-family:var(--font-mono);letter-spacing:.4px;box-shadow:1px 1px 0 var(--ink);justify-content:center;align-items:center;padding:0 10px;line-height:1;display:inline-flex}.diff-badge.exact{color:var(--turquesa-dark);background:var(--turquesa-soft)}.diff-badge.accents{color:var(--cempasuchil-dark);background:#fef9c3}.diff-badge.close{color:var(--tezontle-dark);background:#fee2e2}.diff-badge.different{color:var(--ink-muted);background:#e5e0d8}.diff-rows{flex-direction:column;gap:12px;display:flex}.diff-row{grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.diff-label{font-family:var(--font-mono);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.6px;font-size:11px;font-weight:700}.diff-row-main{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.diff-row-main .audio-button{flex-shrink:0;margin-top:2px}.diff-text{font-family:var(--font-serif);font-size:23px;font-weight:var(--display-weight,700);letter-spacing:var(--phrase-letter-spacing,-.8px);color:var(--ink);overflow-wrap:break-word;word-break:break-word;flex:1;margin:0;line-height:1.35}.diff-match{color:var(--turquesa-dark);background:var(--turquesa-soft);border-radius:4px;padding:1px 5px}.diff-seg{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px;margin:0;padding:1px;display:inline}.diff-seg-match{background:var(--turquesa-soft);color:var(--turquesa-dark)}.diff-seg-accent{background:var(--turquesa-soft);color:var(--turquesa-dark);border-bottom:1.5px dashed var(--cempasuchil)}.diff-seg-missing{color:#9a3412;background:#ffedd5}.diff-seg-extra{background:var(--tezontle-soft);color:var(--tezontle-dark)}.diff-seg-extra.diff-seg-space{color:#dc2626;background:#fecaca;border-radius:4px;margin:0 2px;padding:1px 5px;font-weight:700}.reveal-context-block{border:1.5px solid var(--line-subtle);border-left:3.5px solid var(--line-subtle);background:var(--paper-subtle);color:var(--ink-soft);transition:all .18s var(--ease-spring);border-radius:0 12px 12px 0;margin-top:6px;padding:10px 14px}.reveal-context-block:hover{border-color:var(--line);border-left-color:var(--cempasuchil);background:var(--cempasuchil-soft);box-shadow:2px 2px 0 var(--ink);transform:translateY(-1px)}.context-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.8px;color:var(--ink-soft);font-size:10px;font-weight:800;transition:color .18s;display:block}.reveal-context-block:hover .context-label{color:var(--cempasuchil-dark)}.context-text{color:var(--ink-muted);margin:4px 0 0;font-size:13.5px;line-height:1.45;transition:color .18s}.reveal-context-block:hover .context-text{color:var(--ink)}.grade-fieldset{border:0;border-top:1.5px solid var(--line-subtle);min-width:0;margin:20px 0 0;padding:16px 0 0}.grade-fieldset legend{padding:0}.grade-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:0;display:grid}.grade-buttons button{border:2px solid var(--line);min-width:0;color:var(--ink);text-align:left;transition:all .13s var(--ease-spring);background:#fff;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 9px;padding:10px 12px;display:grid}.grade-buttons button:active{box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}.grade-buttons kbd{grid-row:span 2}.grade-buttons strong{font-size:13px;font-weight:800}.grade-buttons small{color:var(--ink-muted);font-size:10px;font-weight:600}.grade-buttons .grade-again{background:var(--tezontle);color:#fff;box-shadow:2px 2px 0 var(--tezontle-dark)}.grade-buttons .grade-again small{color:#fff}.grade-buttons .grade-again:hover{background:var(--tezontle-dark);box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}.grade-buttons .grade-hard{background:var(--cempasuchil);color:var(--ink);box-shadow:2px 2px 0 var(--cempasuchil-dark)}.grade-buttons .grade-hard small{color:var(--ink)}.grade-buttons .grade-hard:hover{color:var(--ink);box-shadow:4px 4px 0 var(--cempasuchil-dark);background:#e69500;transform:translate(-2px,-2px)}.grade-buttons .grade-good{background:var(--maya-dark);color:#fff;box-shadow:2px 2px #075985}.grade-buttons .grade-good small{color:#fff}.grade-buttons .grade-good:hover{box-shadow:4px 4px 0 var(--ink);background:#075985;transform:translate(-2px,-2px)}.grade-buttons .grade-easy{background:var(--verde);color:#fff;box-shadow:2px 2px 0 var(--verde-dark)}.grade-buttons .grade-easy small{color:#fff}.grade-buttons .grade-easy:hover{background:var(--verde-dark);box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}.keyboard-hint{color:var(--ink-muted);margin:20px 0 0;font-size:12px;font-weight:600}.complete-page{background:var(--paper)}.complete-card{text-align:center;border:2.5px solid var(--line);background:var(--card);width:min(580px,100%);box-shadow:var(--shadow-card);animation:slideUp .24s var(--ease-spring);border-radius:28px;margin:clamp(40px,6vh,80px) auto 30px;padding:40px 36px 44px}.complete-mascot-frame{justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.complete-mascot-img{object-fit:contain;filter:drop-shadow(0 6px 16px #12181514);transform-origin:bottom;width:clamp(150px,22vw,190px);height:clamp(150px,22vw,190px);animation:complete-mascot-pop .4s var(--ease-spring) both, complete-mascot-bob 3.5s ease-in-out infinite .4s alternate}@keyframes complete-mascot-pop{0%{opacity:0;transform:scale(.85)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes complete-mascot-bob{0%{transform:translateY(0)rotate(0)}50%{transform:translateY(-5px)rotate(1.5deg)}to{transform:translateY(2px)rotate(-1.5deg)}}@media (prefers-reduced-motion:reduce){.complete-mascot-img{transition:none;animation:none}}.complete-card h1{font-size:clamp(44px,5.5vw,64px)}.complete-copy{max-width:440px;color:var(--ink-soft);flex-direction:column;gap:6px;margin:18px auto 30px;font-size:17px;line-height:1.55;display:flex}.complete-copy p{margin:0}.complete-subtext{color:var(--ink-soft);font-size:14.5px;line-height:1.4}.complete-link-button{font:inherit;color:var(--rosa-dark);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline;transition:color .15s}.complete-link-button:hover{color:var(--rosa)}.complete-link-button:focus-visible{outline:2px solid var(--rosa);outline-offset:2px;border-radius:4px}.complete-actions{justify-content:center}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=860px){.welcome-hero-main{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:28px}.hero-visual{min-height:440px;transform:translate(20px)scale(.9)}.create-layout{grid-template-columns:minmax(0,1fr);gap:32px;max-width:580px}.create-sidebar{position:static}.create-sidebar header{max-width:500px}.create-visual{display:none}}@media (width<=680px){.app-shell{padding-top:max(12px, env(safe-area-inset-top));padding-right:max(16px, env(safe-area-inset-right));padding-bottom:max(28px, env(safe-area-inset-bottom));padding-left:max(16px, env(safe-area-inset-left))}.topbar{gap:6px;padding:0}.nav-actions{flex-wrap:nowrap;gap:6px;min-width:0}.connection-pill,.text-button{height:var(--pill-height);min-height:var(--pill-height);max-height:var(--pill-height);box-sizing:border-box;white-space:nowrap;gap:4px;padding:0 8px;font-size:11px;line-height:1}.connection-pill{flex-shrink:0}.review-page .nav-actions .text-button+.text-button,.complete-page .nav-actions .text-button+.text-button{display:none}.brand{flex-shrink:0;gap:6px;margin-left:-6px;padding:4px 6px;font-size:22px}.brand-mark{width:24px;height:24px}.welcome-hero{min-height:calc(100svh - max(16px, env(safe-area-inset-top)) - 32px);box-sizing:border-box;flex-direction:column;justify-content:center;padding-top:14px;padding-bottom:28px;display:flex}.welcome-hero-main{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px}.welcome-hero-footer{box-sizing:border-box;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:8px;width:100%;max-width:100%;margin-top:clamp(12px,2vh,20px);display:grid}.welcome-hero-footer-spacer{min-width:0}.welcome-hero-footer .hero-scroll-cue{grid-column:2;justify-self:center;min-height:48px;padding:10px 18px;font-size:14px}.welcome-hero-footer .app-footer{grid-column:3;justify-self:end;width:auto;min-width:0}@media (width<=340px){.welcome-hero-footer{column-gap:4px}.welcome-hero-footer .hero-scroll-cue{padding:10px 14px;font-size:13px}}.why-start-button{min-height:48px;padding:10px 22px;font-size:14px}.welcome-why{scroll-snap-align:start;scroll-snap-stop:always;min-height:100svh;margin:0 calc(-1 * max(16px, env(safe-area-inset-right))) calc(-1 * max(28px, env(safe-area-inset-bottom))) calc(-1 * max(16px, env(safe-area-inset-left)));padding:32px max(16px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-direction:column;justify-content:center;align-items:center;scroll-margin-top:0;display:flex}.welcome-mascot-img{width:88px;height:88px;margin-bottom:14px;position:static}.hero-copy h1{letter-spacing:-1.8px;font-size:clamp(40px,11vw,54px)}.lede{font-size:16px}.hero-actions,.complete-actions{flex-direction:column;align-items:stretch}.hero-actions button,.complete-actions button{width:100%}.hero-visual{display:none}.create-layout{grid-template-columns:minmax(0,1fr);margin-top:24px}.create-layout h1{font-size:36px}.create-form{border-radius:20px;padding:22px 18px}.compact-fields{grid-template-columns:minmax(0,1fr)}.review-progress-track{margin-top:10px}.study-card{margin-top:24px}.study-prompt{font-size:32px}.study-prompt.is-medium{font-size:24px;line-height:1.25}.study-prompt.is-long{font-size:19px;line-height:1.3}.answer-input{padding-right:18px;font-size:18px}.reveal-button{justify-content:center;width:100%;margin-top:12px;position:static;transform:none}.reveal-panel{border-radius:18px;padding:18px 16px 16px}.diff-row{grid-template-columns:68px minmax(0,1fr)}.grade-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.keyboard-hint{display:none}.complete-card{margin-top:4vh;padding:28px 20px 36px}.complete-mascot-frame{margin-bottom:12px}.complete-mascot-img{width:140px;height:140px}}@media (width<=360px){.nav-actions .text-button+.text-button{display:none}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#121815a6;justify-content:center;align-items:center;padding:20px;animation:.16s ease-out fade-in;display:flex;position:fixed;inset:0}.modal-content{background:var(--card);border:2.5px solid var(--line);width:min(580px,100%);max-height:90vh;box-shadow:var(--shadow-card);animation:modal-pop .2s var(--ease-spring);border-radius:24px;flex-direction:column;gap:20px;padding:clamp(24px,4vw,36px);display:flex;position:relative;overflow-y:auto}@keyframes modal-pop{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal-close{border:2px solid var(--line);background:var(--paper-subtle);width:36px;height:36px;color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;transition:all .12s;display:flex}.modal-close:hover{background:var(--rosa-soft);border-color:var(--rosa-dark);color:var(--rosa-dark);transform:scale(1.05)}.deck-stats-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stat-pill{height:var(--pill-height);min-height:var(--pill-height);max-height:var(--pill-height);box-sizing:border-box;border:1.5px solid var(--line);border-radius:var(--pill-radius);background:var(--paper-subtle);color:var(--ink);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.stat-pill strong{color:var(--ink);font-weight:800}.backup-sections{flex-direction:column;gap:20px;display:flex}.backup-section{border:2px solid var(--line-subtle);background:var(--paper-subtle);border-radius:18px;flex-direction:column;gap:16px;padding:22px 24px;display:flex}.backup-section-header h3{color:var(--ink);margin:0;font-size:16px;font-weight:700}.backup-section-header p{color:var(--ink-soft);margin:4px 0 0;font-size:13px;line-height:1.4}.export-button{transition:all .18s var(--ease-spring);align-self:flex-start}.export-button span{line-height:inherit;font-size:inherit;margin-left:0;transition:none}.export-button:hover span{transform:none}.export-button.is-exported{background:var(--verde);color:#fff;border-color:var(--verde-dark);box-shadow:4px 4px 0 var(--verde-dark);animation:saveButtonPop .32s var(--ease-spring)}.export-button.is-exported:hover{background:var(--verde-dark);box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.export-button.is-exported:active{box-shadow:1px 1px 0 var(--verde-dark);transform:translate(2px,2px)}.export-button-exported{justify-content:center;align-items:center;gap:6px;max-width:100%;animation:.2s ease-out saveTextFade;display:inline-flex}.export-button-check{animation:saveCheckmarkBounce .35s var(--ease-spring);flex-shrink:0;font-size:15px;font-weight:800;display:inline-block}.import-mode-selector{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.mode-option{border:2px solid var(--line-subtle);background:var(--card);cursor:pointer;border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;transition:all .12s;display:flex}.mode-option.is-selected{border-color:var(--turquesa-dark);background:var(--turquesa-soft);box-shadow:2px 2px 0 var(--turquesa-dark)}.mode-option input{accent-color:var(--turquesa-dark);margin-top:2px}.mode-label{flex-direction:column;gap:2px;display:flex}.mode-label strong{color:var(--ink);font-size:13px;font-weight:700}.mode-label small{color:var(--ink);font-size:12px;line-height:1.3}.file-input-wrapper{flex-direction:column;gap:6px;display:flex}.file-input-label{color:var(--ink);font-size:13px;font-weight:700}.backup-file-input{border:2px dashed var(--line);background:var(--card);width:100%;color:var(--ink);cursor:pointer;border-radius:12px;padding:10px 14px;font-size:13px}.backup-file-input:focus-visible{border-style:solid;border-color:var(--rosa);outline:none}.restore-confirm-button{align-self:flex-start}.status-banner{border:2px solid #0000;border-radius:14px;padding:12px 16px;font-size:13px;font-weight:600;line-height:1.4}.status-banner p{margin:0}.status-banner.status-success{background:var(--verde-soft);border-color:var(--verde);color:var(--verde-dark)}.status-banner.status-error{background:var(--tezontle-soft);border-color:var(--tezontle);color:var(--tezontle-dark)}.status-banner.status-info{background:var(--maya-soft);border-color:var(--maya);color:var(--maya-dark)}.status-details{font-size:12px;font-family:var(--font-mono);margin:6px 0 0;padding-left:18px}.demo-deck-modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#12181529}.demo-deck-modal{width:min(560px,100%);box-shadow:0 12px 36px -4px #12181538, 4px 4px 0 var(--ink);gap:22px;padding:28px 32px}.demo-deck-modal .modal-subtitle{margin-top:8px;font-size:15.5px;line-height:1.5}.demo-deck-modal-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sync-modal{gap:16px;width:min(520px,100%);padding:26px 28px 30px}.modal-header-copy h2{font-family:var(--font-serif);letter-spacing:-.6px;color:var(--ink);margin:0;font-size:24px;font-weight:700}.modal-subtitle{color:var(--ink-soft);margin:3px 0 0;font-size:13px;line-height:1.35}.sync-account-pane{flex-direction:column;gap:20px;display:flex}.sync-account-hero{align-items:center;gap:16px;padding:6px 2px;display:flex}.sync-cloud-sticker-wrap{flex-shrink:0;justify-content:center;align-items:center;display:flex}.sync-cloud-sticker-wrap .cloud-check-sticker{display:block;overflow:visible}.sync-account-details{flex-direction:column;gap:3px;min-width:0;display:flex}.account-badge{text-transform:uppercase;letter-spacing:.6px;color:var(--turquesa-dark);font-size:10.5px;font-weight:800}.account-email{color:var(--ink);word-break:break-all;margin:0;font-size:14.5px;font-weight:700;line-height:1.3}.sync-actions-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.sync-actions-row .sync-now-button,.sync-actions-row .sign-out-button{height:var(--pill-height);min-height:var(--pill-height);max-height:var(--pill-height);box-sizing:border-box;border-radius:var(--pill-radius);align-items:center;font-size:13px;line-height:1;display:inline-flex}.sync-actions-row .sync-now-button{transition:all .18s var(--ease-spring);gap:8px;padding:0 16px}.sync-now-button span{line-height:inherit;font-size:inherit;margin-left:0;transition:none}.sync-now-button:hover span{transform:none}.sync-now-button.is-synced{background:var(--verde);color:#fff;border-color:var(--verde-dark);box-shadow:4px 4px 0 var(--verde-dark);animation:saveButtonPop .32s var(--ease-spring)}.sync-now-button.is-synced:hover{background:var(--verde-dark);box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.sync-now-button.is-synced:active{box-shadow:1px 1px 0 var(--verde-dark);transform:translate(2px,2px)}.sync-button-synced{justify-content:center;align-items:center;gap:6px;max-width:100%;animation:.2s ease-out saveTextFade;display:inline-flex}.sync-button-check{animation:saveCheckmarkBounce .35s var(--ease-spring);flex-shrink:0;font-size:15px;font-weight:800;display:inline-block}.sync-button-text{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.sync-actions-row .sign-out-button{justify-content:center;align-items:center;padding:0 14px;display:inline-flex}.sync-auth-pane{flex-direction:column;gap:12px;display:flex}.sync-auth-form{flex-direction:column;gap:14px;display:flex}.sync-explanation{color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.45}.sync-micro-hint{color:var(--ink-muted);text-align:center;margin:-4px 0 0;font-size:12px;line-height:1.35}.link-input-wrap{align-items:center;width:100%;margin-top:8px;display:flex;position:relative}.link-input-wrap .link-input{margin-top:0}.link-input{width:100%;font-family:inherit;font-size:16px;padding-right:76px!important}.link-input.otp-code-input{font-family:var(--font-mono);letter-spacing:.16em;font-weight:700}.paste-input-btn{background:var(--paper-subtle);border:1px solid var(--line-subtle);height:28px;color:var(--ink-soft);cursor:pointer;z-index:2;border-radius:6px;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex;position:absolute;right:6px}.paste-input-btn:hover{background:var(--card);color:var(--ink);border-color:var(--line)}.paste-input-btn.is-pasted{background:var(--verde-soft,#eaf3ed);color:var(--verde-dark);border-color:var(--verde);animation:saveButtonPop .25s var(--ease-spring)}.resend-button-sent{justify-content:center;align-items:center;gap:6px;max-width:100%;animation:.2s ease-out saveTextFade;display:inline-flex}.resend-button-check{animation:saveCheckmarkBounce .35s var(--ease-spring);flex-shrink:0;font-size:14px;font-weight:800;display:inline-block}.resend-button-text{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.resend-text-button.is-sent{color:var(--verde-dark);font-weight:700}.sync-sent-pane{flex-direction:column;gap:16px;display:flex}.sync-sent-actions{flex-direction:column;gap:12px;display:flex}.sync-sent-actions .secondary-button,.sync-sent-actions .primary-button{width:100%}.sync-sent-sub-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.modal-link-btn{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:2px 0;font-family:inherit;font-size:13px;font-weight:600;line-height:1.3;text-decoration:none;transition:color .14s}.modal-link-btn:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.modal-link-btn:disabled{color:var(--ink-muted);cursor:not-allowed;text-decoration:none}.sync-sub-action-dot{color:var(--line-subtle);-webkit-user-select:none;user-select:none;font-size:12px}.sync-notice-card{border:1.5px solid var(--line-subtle);background:var(--paper-subtle);border-radius:14px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.sync-notice-card .notice-icon{color:var(--ink);align-items:center;display:flex}.sync-notice-card h4{color:var(--ink);margin:0;font-size:13.5px;font-weight:700}.sync-notice-card p{color:var(--ink-soft);margin:0;font-size:12.5px;line-height:1.4}.redirect-auth-banner{border-radius:var(--pill-radius);background:var(--paper-subtle);border:1px solid var(--line-subtle);width:min(1080px,100%);color:var(--ink);box-shadow:var(--shadow-sm);animation:slideUp .18s var(--ease-spring);justify-content:space-between;align-items:center;gap:10px;margin:10px auto 0;padding:6px 10px 6px 14px;font-size:13px;display:flex}.redirect-auth-banner .banner-left{align-items:center;gap:8px;min-width:0;display:flex}.redirect-auth-banner .banner-text{color:var(--ink);margin:0;font-size:13px;font-weight:600}.redirect-auth-banner .banner-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.redirect-auth-banner .banner-action-btn{border-radius:var(--pill-radius);background:var(--card);border:1px solid var(--line-subtle);height:28px;color:var(--ink);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.redirect-auth-banner .banner-action-btn:hover{border-color:var(--line);box-shadow:var(--shadow-sm);background:#fff}.redirect-auth-banner .banner-action-btn.is-copied{background:var(--turquesa-soft);color:var(--turquesa-dark);border-color:var(--turquesa)}.redirect-auth-banner .banner-dismiss-btn{border-radius:var(--pill-radius);width:24px;height:24px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.redirect-auth-banner .banner-dismiss-btn:hover{background:var(--line-subtle);color:var(--ink)}@media (width<=580px){.redirect-auth-banner{border-radius:14px;flex-wrap:wrap;gap:8px;padding:8px 10px 8px 12px}.redirect-auth-banner .banner-text{white-space:normal;flex:1;min-width:140px;font-size:12.5px;line-height:1.35}.redirect-auth-banner .banner-actions{margin-left:auto}}.deck-page{gap:28px}.deck-layout{flex-direction:column;gap:24px;width:min(1080px,100%);margin:0 auto;display:flex}.deck-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.deck-header-row h1{font-family:var(--font-serif);letter-spacing:-1px;margin:0;font-size:clamp(28px,4vw,36px);font-weight:800;line-height:1.15}.deck-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.deck-header-actions .secondary-button,.deck-header-pill{height:var(--pill-height);min-height:var(--pill-height);max-height:var(--pill-height);box-sizing:border-box;border-radius:var(--pill-radius);background:var(--card);color:var(--ink);border:1.5px solid var(--line-subtle);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:700;line-height:1;transition:all .15s;display:inline-flex}.deck-header-actions .secondary-button:hover,.deck-header-pill:hover{border-color:var(--line);color:var(--ink);box-shadow:var(--shadow-sm)}.deck-stat-chip{height:var(--pill-height);min-height:var(--pill-height);max-height:var(--pill-height);box-sizing:border-box;border-radius:var(--pill-radius);border:1.5px solid var(--line-subtle);background:var(--card);color:var(--ink-soft);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.deck-stat-chip.is-mini{height:var(--pill-height-sm);min-height:var(--pill-height-sm);max-height:var(--pill-height-sm);padding:0 8px;font-size:11px;font-weight:700;line-height:1}.deck-stat-chip strong{color:var(--ink)}.deck-stat-chip.is-due{background:var(--tezontle-soft);border-color:var(--tezontle);color:var(--tezontle-dark)}.deck-stat-chip.is-new{background:var(--maya-soft);border-color:var(--maya);color:var(--maya-dark)}.deck-stat-chip.is-learning{background:var(--cempasuchil-soft);border-color:var(--cempasuchil);color:var(--cempasuchil-dark)}.deck-stat-chip.is-review{background:var(--verde-soft);border-color:var(--verde);color:var(--verde-dark)}.deck-toolbar{flex-direction:column;gap:12px;display:flex}.deck-search-wrap{width:100%;position:relative}.deck-search-input{border:2px solid var(--line);background:var(--card);width:100%;box-shadow:var(--shadow-sm);border-radius:14px;padding:12px 16px 12px 42px;font-size:16px;transition:border-color .15s,box-shadow .15s}.deck-search-input:focus{border-color:var(--rosa);box-shadow:var(--shadow-md);outline:none}.deck-search-icon{pointer-events:none;opacity:.6;font-size:16px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.deck-toolbar-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.deck-filter-pills{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.deck-filter-pill{height:var(--pill-height);min-height:var(--pill-height);max-height:var(--pill-height);box-sizing:border-box;border:1.5px solid var(--line-subtle);border-radius:var(--pill-radius);background:var(--card);color:var(--ink-soft);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:700;line-height:1;transition:all .15s;display:inline-flex}.deck-filter-pill:hover{border-color:var(--line);color:var(--ink)}.deck-filter-pill.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:var(--shadow-sm)}.deck-batch-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.deck-batch-actions .danger-button.batch-delete-btn,.deck-batch-actions .batch-delete-btn,.batch-delete-btn{height:var(--pill-height);min-height:var(--pill-height);max-height:var(--pill-height);box-sizing:border-box;border-radius:var(--pill-radius);background:var(--tezontle-dark);color:#fff;border:1.5px solid var(--line);box-shadow:var(--shadow-sm);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:700;line-height:1;transition:all .12s;display:inline-flex}.deck-batch-actions .danger-button.batch-delete-btn:hover,.deck-batch-actions .batch-delete-btn:hover,.batch-delete-btn:hover{box-shadow:var(--shadow-md);background:#7f1d1d;transform:translateY(-1px)}.deck-batch-actions .secondary-button.deck-clear-selection-btn,.deck-batch-actions .deck-clear-selection-btn,.deck-clear-selection-btn{height:var(--pill-height);min-height:var(--pill-height);max-height:var(--pill-height);box-sizing:border-box;border-radius:var(--pill-radius);border:1.5px solid var(--line-subtle);background:var(--card);color:var(--ink-soft);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:700;line-height:1;transition:all .12s;display:inline-flex}.deck-batch-actions .secondary-button.deck-clear-selection-btn:hover,.deck-batch-actions .deck-clear-selection-btn:hover,.deck-clear-selection-btn:hover{border-color:var(--line);color:var(--ink)}.deck-sort-wrap{align-items:center;gap:8px;display:flex}.deck-sort-label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.deck-sort-select{height:var(--pill-height);min-height:var(--pill-height);max-height:var(--pill-height);box-sizing:border-box;border:1.5px solid var(--line-subtle);border-radius:var(--pill-radius);background-color:var(--card);color:var(--ink);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%233b4740' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;align-items:center;padding:0 30px 0 12px;font-size:13px;font-weight:700;line-height:1;transition:all .15s;display:inline-flex}.deck-sort-select:hover{border-color:var(--line);color:var(--ink)}.deck-sort-select:focus-visible{border-color:var(--rosa);box-shadow:0 0 0 2px var(--rosa-glow);outline:none}.deck-sort-header-btn{font-family:inherit;font-size:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin:0;padding:0;transition:color .12s;display:inline-flex}.deck-sort-header-btn:hover{color:var(--ink)}.deck-sort-header-btn:focus-visible{outline:2px solid var(--rosa);outline-offset:2px;border-radius:4px}.deck-sort-icon{color:var(--rosa);font-size:11px;font-weight:900;line-height:1}.deck-cards-list.is-compact{flex-direction:column;gap:4px;display:flex}.deck-list-table-header{text-transform:uppercase;letter-spacing:.8px;color:var(--ink-muted);border-bottom:2px solid var(--line);grid-template-columns:36px minmax(110px,125px) minmax(160px,1fr) minmax(160px,1fr) 95px;align-items:center;gap:14px;padding:8px 14px;font-size:11px;font-weight:800;display:grid}.deck-card-row{border:1.5px solid var(--line-subtle);background:var(--card);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;grid-template-columns:36px minmax(110px,125px) minmax(160px,1fr) minmax(160px,1fr) 95px;align-items:center;gap:14px;min-height:46px;padding:6px 14px;transition:background .1s,border-color .1s,box-shadow .1s;display:grid}.deck-card-row:hover{background:var(--paper-subtle);border-color:var(--line);box-shadow:0 2px 0 var(--line)}.deck-card-row:focus-visible{outline:2px solid var(--rosa);outline-offset:2px}.deck-card-row.is-selected{background:var(--turquesa-soft);border-color:var(--turquesa-dark);box-shadow:0 2px 0 var(--turquesa-dark)}.deck-select-checkbox{width:18px;height:18px;accent-color:var(--turquesa-dark);cursor:pointer;flex-shrink:0;margin:0}.deck-card-row .col-select,.deck-list-table-header .col-select{justify-content:center;align-items:center;display:flex}.deck-card-row .col-dir{align-items:center;display:flex}.deck-direction-badge{height:var(--pill-height-sm);min-height:var(--pill-height-sm);max-height:var(--pill-height-sm);box-sizing:border-box;border-radius:var(--pill-radius);background:var(--paper-subtle);border:1.5px solid var(--line-subtle);letter-spacing:.3px;color:var(--ink);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.deck-direction-badge svg,.deck-direction-badge .flag-icon{vertical-align:middle;flex-shrink:0}.deck-card-row .col-phrase{align-items:center;gap:6px;min-width:0;display:flex}.deck-card-row .deck-phrase-text{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.deck-card-row .deck-answer-text{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.deck-card-row .col-status{align-items:center;display:flex}@media (width<=860px){.deck-list-table-header{display:none}.deck-card-row{grid-template-columns:32px minmax(95px,110px) minmax(0,1fr) minmax(0,1fr);gap:8px;padding:8px 10px}.deck-card-row .col-status{display:none}}@media (width<=580px){.deck-card-row{grid-template-columns:28px minmax(85px,95px) minmax(0,1fr);gap:6px}.deck-card-row .col-answer{display:none}}.deck-empty-state{text-align:center;border:2px dashed var(--line-subtle);background:var(--paper-subtle);border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:48px 20px;display:flex}.deck-empty-state h3{margin:0;font-size:18px;font-weight:700}.deck-empty-state p{color:var(--ink-soft);max-width:400px;margin:0;font-size:14px}.deck-empty-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.edit-card-modal{gap:14px;width:min(560px,100%);padding:clamp(20px,3.5vw,28px)}.delete-card-modal{width:min(560px,100%)}.backup-modal{width:min(640px,100%);max-height:90vh;overflow-y:auto}.starter-packs-modal{width:min(680px,100%);max-height:90vh;overflow-y:auto}.starter-packs-modal.is-inspecting{flex-direction:column;display:flex;overflow:hidden}.starter-packs-modal.is-inspecting .modal-header,.starter-packs-modal.is-inspecting .starter-pack-inspect-toolbar{flex-shrink:0}.starter-packs-list{flex-direction:column;gap:16px;margin-top:4px;display:flex}.starter-pack-card{background:var(--card);border:2px solid var(--line);box-shadow:2px 2px 0 var(--line), 4px 4px 0 var(--paper-subtle), 6px 6px 0 var(--line-subtle);border-radius:16px;flex-direction:column;gap:14px;padding:18px 20px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.starter-pack-card:hover{box-shadow:3px 3px 0 var(--line), 5px 5px 0 var(--paper-subtle), 7px 7px 0 var(--line-subtle);transform:translate(-1px,-1px)}.starter-pack-card.theme-rosa{border-left:7px solid var(--rosa)}.starter-pack-card.theme-maya{border-left:7px solid var(--maya)}.starter-pack-card.theme-turquesa{border-left:7px solid var(--turquesa-deep)}.starter-pack-card.theme-cempasuchil{border-left:7px solid var(--cempasuchil)}.starter-pack-card.theme-tezontle{border-left:7px solid var(--tezontle)}.starter-pack-card.is-added{background:var(--paper-subtle);border-top-color:var(--line-light);border-right-color:var(--line-light);border-bottom-color:var(--line-light);box-shadow:none;opacity:.88;transform:none}.starter-pack-head{flex-direction:column;gap:8px;display:flex}.starter-pack-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.starter-pack-title-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.starter-pack-theme-tag{text-transform:uppercase;letter-spacing:.04em;border:1px solid;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800}.starter-pack-theme-tag.theme-rosa{background:var(--rosa-soft);color:var(--rosa-dark);border-color:var(--rosa)}.starter-pack-theme-tag.theme-maya{background:var(--maya-soft);color:var(--maya-dark);border-color:var(--maya)}.starter-pack-theme-tag.theme-turquesa{background:var(--turquesa-soft);color:var(--turquesa-deep);border-color:var(--turquesa-border)}.starter-pack-theme-tag.theme-cempasuchil{background:var(--cempasuchil-soft);color:var(--cempasuchil-dark);border-color:var(--cempasuchil)}.starter-pack-theme-tag.theme-tezontle{background:var(--tezontle-soft);color:var(--tezontle-dark);border-color:var(--tezontle)}.starter-pack-title{color:var(--ink);margin:0;font-size:17px;font-weight:800;line-height:1.25}.starter-pack-desc{color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.45}.starter-pack-actions{border-top:1px solid var(--line-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:2px;padding-top:12px;display:flex}.starter-pack-inspect-btn{height:var(--pill-height);min-height:var(--pill-height);background:var(--paper);border:1.5px solid var(--line-subtle);color:var(--ink);white-space:nowrap;border-radius:999px;padding:0 14px;font-size:13px;font-weight:600}.starter-pack-inspect-btn:hover{background:var(--paper-subtle);border-color:var(--line)}.starter-pack-action-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex}.starter-pack-conflict-info{color:var(--ink-soft);font-size:12px;font-weight:600}.starter-pack-btn{height:var(--pill-height);min-height:var(--pill-height);white-space:nowrap;border-radius:999px;padding:0 16px;font-size:13px}.starter-pack-btn.is-complete{background:var(--turquesa-soft);color:var(--turquesa-deep);border:1.5px solid var(--turquesa-border);box-shadow:none;cursor:default}.starter-pack-inspect-header{border-bottom:1px solid var(--line-light);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.starter-pack-inspect-nav{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.starter-pack-back-btn{border:1.5px solid var(--line-subtle);background:var(--paper);height:34px;min-height:34px;color:var(--ink);white-space:nowrap;box-shadow:none;border-radius:999px;padding:0 14px;font-size:13px;font-weight:700}.starter-pack-back-btn:hover{border-color:var(--line);background:var(--paper-subtle);box-shadow:none;transform:none}.starter-pack-back-btn:active{box-shadow:none;transform:none}.starter-pack-inspect-title-wrap{align-items:center;gap:8px;display:flex}.starter-pack-inspect-title-wrap h2{margin:0;font-size:18px;font-weight:800}.starter-pack-inspect-toolbar{background:var(--paper);border:1.5px solid var(--line-subtle);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 10px;padding:12px 14px;display:flex}.starter-pack-inspect-summary{flex-direction:column;gap:2px;display:flex}.starter-pack-inspect-status{color:var(--ink);margin:0;font-size:13.5px;font-weight:700}.starter-pack-inspect-caption{color:var(--ink-soft);margin:0;font-size:12px}.starter-pack-inspect-list{flex-direction:column;flex:1;gap:8px;min-height:0;max-height:none;padding-bottom:8px;padding-right:4px;display:flex;overflow-y:auto}.starter-pack-inspect-list:focus-visible{outline:2px solid var(--line);outline-offset:2px}.starter-pack-inspect-item{background:var(--card);border:1.5px solid var(--line-light);border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 14px;transition:border-color .15s;display:flex}.starter-pack-inspect-item:hover{border-color:var(--line-subtle)}.starter-pack-inspect-item.is-in-deck{background:var(--turquesa-soft);border-color:var(--turquesa-border)}.starter-pack-inspect-item.is-partial-deck{background:var(--cempasuchil-soft);border-color:var(--cempasuchil)}.inspect-item-content{flex-direction:column;gap:3px;min-width:0;display:flex}.inspect-item-words{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.inspect-item-spanish{color:var(--ink);font-size:15px;font-weight:800}.inspect-item-arrow{color:var(--ink-faint);font-size:12px}.inspect-item-english{color:var(--ink-soft);font-size:14px;font-weight:500}.inspect-item-context{color:var(--ink-muted);margin:0;font-size:12px;line-height:1.4}.inspect-item-badge-wrap{flex-shrink:0;margin-top:2px}.inspect-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.inspect-badge.in-deck{background:var(--card);color:var(--turquesa-deep);border:1px solid var(--turquesa-border)}.inspect-badge.partial-deck{background:var(--card);color:var(--cempasuchil-dark);border:1px solid var(--cempasuchil)}.inspect-item-add-btn{border:1.5px solid var(--line-subtle);background:var(--paper);height:26px;min-height:26px;color:var(--ink);white-space:nowrap;cursor:pointer;box-shadow:none;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:11.5px;font-weight:700;transition:all .12s;display:inline-flex}.inspect-item-add-btn:hover{background:var(--turquesa-soft);border-color:var(--turquesa-border);color:var(--turquesa-deep);transform:translateY(-1px)}.inspect-item-add-btn:active{transform:translateY(0)}.inspect-item-add-btn:focus-visible{outline:2px solid var(--line);outline-offset:2px}.inspect-item-add-btn.is-partial{background:var(--cempasuchil-soft);border-color:var(--cempasuchil);color:var(--cempasuchil-dark)}.inspect-item-add-btn.is-partial:hover{background:var(--cempasuchil);border-color:var(--cempasuchil-dark);color:#fff}.edit-card-form{flex-direction:column;gap:12px;display:flex}.edit-card-form .field-group{margin-bottom:0}.edit-card-form .field-group textarea{min-height:52px;margin-top:4px;padding:10px 14px;font-size:16px;line-height:1.35}.edit-card-form .field-group textarea#edit-context{min-height:46px;font-size:13.5px}.field-label-row{justify-content:space-between;align-items:center;gap:12px;min-height:28px;margin-bottom:6px;display:flex}.field-label-row label{color:var(--ink);align-items:center;gap:6px;margin-bottom:0;font-size:14px;font-weight:700;display:inline-flex}.field-label-row .audio-button{border-radius:50%;flex-shrink:0;width:28px;min-width:28px;height:28px;min-height:28px;padding:0;position:relative}.field-label-row .audio-button:before{content:"";position:absolute;inset:-6px}.field-label-row .audio-button svg{width:14px;height:14px}.delete-card-preview-card{background:var(--paper-subtle);border:2px solid var(--line-subtle);color:var(--ink);border-radius:16px;flex-direction:column;gap:8px;padding:16px;display:flex}.delete-card-preview-card p{color:var(--ink);margin:0;font-size:15px;line-height:1.4}.delete-card-preview-card strong{color:var(--ink);text-transform:uppercase;letter-spacing:.5px;margin-right:6px;font-size:13px}.delete-cards-preview-list{background:var(--paper-subtle);border:1.5px solid var(--line-subtle);border-radius:14px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.delete-cards-count-label{color:var(--ink);margin:0;font-size:13px;font-weight:700}.delete-cards-summary-list{color:var(--ink-soft);flex-direction:column;gap:6px;margin:0;padding-left:20px;font-size:14px;display:flex}.delete-cards-summary-list strong{color:var(--ink)}.delete-cards-more{color:var(--ink-muted);margin-left:-20px;font-size:13px;font-weight:600;list-style:none}.edit-card-toggle-row{margin-top:4px;margin-bottom:2px}.edit-modal-actions,.delete-modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;display:flex}.edit-modal-actions .primary-button,.edit-modal-actions .secondary-button,.delete-modal-actions .danger-button,.delete-modal-actions .secondary-button{box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;height:40px;min-height:40px;max-height:40px;padding:0 18px;font-size:14px;line-height:1;display:inline-flex}.edit-modal-actions .secondary-button,.delete-modal-actions .secondary-button{background:var(--card);color:var(--ink);border:2px solid var(--line);box-shadow:2px 2px 0 var(--turquesa-deep)}.edit-modal-actions .secondary-button:hover,.delete-modal-actions .secondary-button:hover{background:var(--paper-subtle);box-shadow:4px 4px 0 var(--turquesa-dark);transform:translate(-2px,-2px)}.edit-modal-actions .secondary-button:active,.delete-modal-actions .secondary-button:active{box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}.danger-button{background:var(--tezontle-dark);color:#fff;border:2px solid var(--line);box-shadow:2px 2px 0 var(--ink);border-radius:12px;padding:10px 18px;font-size:14px;font-weight:700;transition:transform .12s,box-shadow .12s}.danger-button:hover{box-shadow:3px 3px 0 var(--ink);background:#7f1d1d;transform:translateY(-1px)}.study-card-quick-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;display:flex}.study-quick-btn{color:var(--ink-muted);background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:700;transition:all .12s;display:inline-flex}.study-quick-btn:hover{color:var(--ink);background:var(--paper-subtle);border-color:var(--line-subtle)}.study-quick-btn.delete-btn:hover{color:var(--tezontle-dark);background:var(--tezontle-soft);border-color:var(--tezontle)}.study-quick-btn:focus-visible{outline:2px solid var(--rosa);outline-offset:2px}.feedback-modal{width:min(540px,100%)}.feedback-success-state{flex-direction:column;gap:16px;padding:8px 0;display:flex}.feedback-success-message{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.5}.feedback-form{flex-direction:column;gap:18px;display:flex}.feedback-encouragement{color:var(--ink-soft);margin:0;font-size:14.5px;line-height:1.5}.feedback-field-group{flex-direction:column;gap:8px;display:flex}.feedback-textarea{box-sizing:border-box;width:100%;min-height:120px;color:var(--ink);background:var(--paper);border:2px solid var(--line);resize:vertical;border-radius:12px;padding:12px 14px;font-family:inherit;font-size:14.5px;line-height:1.45;transition:border-color .12s,box-shadow .12s}.feedback-textarea:focus{border-color:var(--rosa-dark);box-shadow:0 0 0 3px var(--rosa-soft);background:var(--card);outline:none}.feedback-error-banner{background:var(--tezontle-soft);border:1.5px solid var(--tezontle);color:var(--tezontle-dark);border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.4}.feedback-modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;display:flex}.feedback-modal-actions .primary-button,.feedback-modal-actions .secondary-button{box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;height:40px;min-height:40px;max-height:40px;padding:0 18px;font-size:14px;line-height:1;display:inline-flex}.feedback-modal-actions .secondary-button{background:var(--card);color:var(--ink);border:2px solid var(--line);box-shadow:2px 2px 0 var(--turquesa-deep)}.feedback-modal-actions .secondary-button:hover{background:var(--paper-subtle);box-shadow:4px 4px 0 var(--turquesa-dark);transform:translate(-2px,-2px)}.feedback-modal-actions .secondary-button:active{box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}.app-footer{justify-content:flex-end;width:min(1080px,100%);margin-top:auto;margin-left:auto;margin-right:auto;padding-top:16px;display:flex}.app-footer-inner{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:flex}.footer-link-button{-webkit-backdrop-filter:blur(8px);border:1px solid var(--line-subtle);color:var(--ink-muted);cursor:pointer;background:#faf8f5e0;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:color .12s,border-color .12s,background-color .12s,box-shadow .12s;box-shadow:0 1px 3px #0000000a}.footer-link-button:hover{color:var(--rosa-dark);border-color:var(--rosa-soft);background:var(--paper-clean);box-shadow:0 2px 6px #00000014}.footer-link-button:focus-visible{outline:2px solid var(--rosa);outline-offset:2px}.sync-account-footer{justify-content:center;margin-top:6px;display:flex}.delete-account-link{color:#b91c1c;font-size:12.5px;font-weight:600;transition:opacity .15s}.delete-account-link:hover{color:#991b1b;text-decoration:underline}.sync-delete-confirm-box{background:var(--tezontle-soft);border:1.5px solid var(--tezontle);border-radius:14px;flex-direction:column;gap:12px;margin-top:8px;padding:16px;display:flex}.delete-confirm-text{color:var(--tezontle-dark);margin:0;font-size:13.5px;font-weight:500;line-height:1.45}.delete-backup-option{color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.delete-backup-option input[type=checkbox]{accent-color:var(--tezontle);cursor:pointer;width:16px;height:16px}.delete-confirm-input-wrap{flex-direction:column;gap:6px;display:flex}.delete-input-label{color:var(--tezontle-dark);font-size:12.5px;font-weight:500}.delete-input{width:100%;font-size:14px;font-family:var(--font-mono);letter-spacing:.05em;border:2px solid var(--line);color:var(--tezontle-dark);box-sizing:border-box;background:#fff;border-radius:10px;padding:10px 14px;font-weight:700;transition:border-color .14s,box-shadow .14s}.delete-input:focus{border-color:var(--tezontle);box-shadow:2px 2px 0 var(--ink);outline:none}.delete-confirm-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.delete-confirm-actions .cancel-delete-btn{border-radius:var(--pill-radius);height:38px;min-height:38px;padding:0 16px;font-size:13px}.delete-confirm-actions .confirm-delete-btn{border-radius:var(--pill-radius);background:var(--tezontle-dark);color:#fff;border:2px solid var(--line);height:38px;min-height:38px;box-shadow:2px 2px 0 var(--ink);cursor:pointer;padding:0 16px;font-size:13px;font-weight:700;transition:background .14s,opacity .14s}.delete-confirm-actions .confirm-delete-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:2px 2px 0 var(--ink)}.delete-confirm-actions .confirm-delete-btn:not(:disabled):hover{background:#7f1d1d}.sync-modal-legal{border-top:1px solid #f0e6eb;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding-top:8px;display:flex}.sync-privacy-link{color:var(--ink-muted);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-family:inherit;font-size:12px;font-weight:400;line-height:1.4;text-decoration:underline;text-decoration-thickness:1px;transition:color .12s}.sync-privacy-link:hover{color:var(--ink-soft)}.sync-privacy-link:focus-visible{outline:2px solid var(--maya-dark);outline-offset:2px;border-radius:2px}.sync-modal-legal-separator{color:var(--ink-muted);-webkit-user-select:none;user-select:none;font-size:12px}.privacy-modal{max-width:620px}.privacy-title-row{align-items:center;gap:8px;display:flex}.privacy-shield-badge{color:var(--verde-dark);justify-content:center;align-items:center;display:inline-flex}.privacy-modal-body{flex-direction:column;gap:16px;max-height:55vh;padding-right:4px;display:flex;overflow-y:auto}.privacy-section h3{color:var(--ink);margin-bottom:4px;font-size:14.5px;font-weight:700}.privacy-section p{color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.5}.privacy-contact-link{color:var(--rosa-dark);text-underline-offset:2px;text-decoration:underline}.privacy-contact-link:hover{color:var(--rosa)}.privacy-contact-link:focus-visible{outline:2px solid var(--maya-dark);outline-offset:2px;border-radius:2px}.privacy-modal-footer{border-top:1px solid #f0e6eb;justify-content:flex-end;padding-top:12px;display:flex}.privacy-done-btn{height:var(--pill-height);min-height:var(--pill-height);border-radius:var(--pill-radius);padding:0 20px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
