:root{--bg: #faf6ef;--panel: #ffffff;--panel-alt: #fdf2eb;--border: #e6dfd2;--text: #1a1814;--ink-soft: #4a4640;--muted: #8a847d;--accent: #b54a1e;--accent-soft: #fdf2eb;--danger: #c43a2a;--serif: "Crimson Pro", Georgia, "Times New Roman", serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Helvetica, Arial, sans-serif;font-family:var(--sans);color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text)}button{font:inherit;font-weight:500;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:9px 16px;min-height:36px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .08s ease}button:hover{background:var(--panel-alt);border-color:var(--muted)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}button:disabled:hover{background:var(--panel);border-color:var(--border)}input,textarea{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:8px}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--muted)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background:#9c3f17;border-color:#9c3f17;color:#fff}button.primary:disabled:hover{background:var(--accent);border-color:var(--accent)}button.danger{color:var(--danger);border-color:var(--border)}button.danger:hover{background:var(--accent-soft);border-color:var(--danger);color:var(--danger)}button.link{background:transparent;border:0;color:var(--ink-soft);text-decoration:underline;padding:6px 8px;min-height:0}button.link:hover{background:transparent;color:var(--accent)}.app{--side-width: 360px;display:grid;grid-template-columns:1fr 360px;height:100vh;overflow:hidden}.main{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:72px 32px 120px;position:relative;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden}.controls{position:fixed;bottom:24px;left:calc((100vw - var(--side-width)) / 2);transform:translate(-50%);display:flex;gap:8px;align-items:center;z-index:10;padding:8px;background:#ffffffeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:20px;box-shadow:0 8px 24px #1a18141f;width:min(840px,calc(100vw - var(--side-width) - 32px));max-width:calc(100vw - var(--side-width) - 32px);flex-wrap:wrap;justify-content:center;font-size:14px}.controls>*{min-height:40px;display:inline-flex;align-items:center}.controls button{border-radius:12px;min-height:40px;height:40px;padding:0 14px;font-size:14px;font-weight:500;border:1px solid transparent;background:transparent;color:var(--ink-soft)}.controls button:hover{background:var(--panel-alt);border-color:var(--border);color:var(--text)}.controls button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.controls button:active{transform:translateY(1px)}.controls button:disabled{opacity:.42;cursor:default}.controls button:disabled:hover{background:transparent;border-color:transparent;color:var(--ink-soft)}.controls button.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:inset 0 -2px #0000002e}.controls button.primary:hover{background:#9c3f17;border-color:#9c3f17;color:#fff;box-shadow:inset 0 -2px #00000038}.typed-lookup{display:flex;align-items:center;gap:6px;min-height:40px;flex:1 1 420px;min-width:280px}.composer-input-wrap{position:relative;flex:1 1 auto;min-width:0;min-height:40px}.composer-input-wrap.idle-hint:not(:focus-within) .composer-textarea{animation:composerIdleBlink 2.4s ease-in-out infinite}.typed-lookup .composer-textarea{width:100%;min-width:0;min-height:40px;max-height:96px;border-radius:14px;padding:9px 12px;font-size:14px;line-height:20px;background:var(--panel-alt);resize:none;overflow-y:auto}.composer-input-wrap.is-listening.has-interim,.composer-input-wrap.is-listening.has-interim .composer-textarea{min-height:72px}.composer-input-wrap.is-listening .composer-textarea{color:transparent}.listening-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;gap:9px;padding:0 12px;color:var(--ink-soft);pointer-events:none;overflow:hidden}.composer-input-wrap.has-interim .listening-overlay{align-items:flex-start;padding-top:9px}.listening-text{min-width:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:normal;overflow-wrap:anywhere;color:var(--text);line-height:20px;animation:listeningTextIn .22s ease-out both}.listening-pulse{display:inline-flex;align-items:center;gap:3px}.listening-pulse span{width:4px;height:4px;border-radius:999px;background:var(--accent);opacity:.45;animation:listeningDot 1.25s ease-in-out infinite}.listening-pulse span:nth-child(2){animation-delay:.16s}.listening-pulse span:nth-child(3){animation-delay:.32s}.typed-lookup button{white-space:nowrap}.typed-lookup .lookup-submit{display:inline-flex}.controls button.enter-button{width:40px;padding:0;align-items:center;justify-content:center;flex:0 0 40px}.controls button.enter-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.controls button.mic-button{background:var(--text);border-color:var(--text);color:#fff;width:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;line-height:0}.controls button.mic-button:hover{background:#3b332b;border-color:#3b332b;color:#fff}.controls button.mic-button.listening{background:var(--danger);border-color:var(--danger)}.controls button.mic-button .mic-icon{width:19px;height:19px;display:block;flex:0 0 auto}.finish-button[hidden]{display:none}.controls button.danger{color:var(--danger);border-color:#c43a2a59;background:transparent}.controls button.danger:hover{background:#c43a2a14;border-color:var(--danger);color:var(--danger)}.controls .status-pill{background:transparent;border:0;padding:0 8px;height:40px;font-size:13px;color:var(--ink-soft)}.controls .meter{background:transparent;border:0;padding:0 8px;height:40px;gap:8px}.saved-toggle-top{position:fixed;top:12px;left:12px;z-index:20;height:38px;padding:0 14px;border-radius:999px;background:#ffffffeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);font-size:13px;font-weight:500;color:var(--ink-soft);box-shadow:0 4px 14px #1a18141a;display:none}.saved-toggle-top:hover{background:#fdf2ebeb;border-color:var(--muted);color:var(--text)}.meter{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--panel);border:1px solid var(--border);border-radius:999px;font-size:12px;color:var(--ink-soft);flex:0 0 auto}.meter-bar{width:80px;height:6px;border-radius:3px;background:var(--panel-alt);overflow:hidden;position:relative;flex:0 0 auto}.meter-fill{height:100%;background:linear-gradient(90deg,#2f8a3f 0%,#c08a1a 70%,var(--danger) 95%);transition:width 80ms linear}.meter.silent{color:var(--danger)}.meter-silent{visibility:hidden}.meter.silent .meter-silent{visibility:visible}.gear{background:var(--panel);border:1px solid var(--border);border-radius:999px;width:32px;height:32px;font-size:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;color:var(--ink-soft)}.gear:hover{color:var(--accent);border-color:var(--muted)}.history-head-actions{display:inline-flex;gap:6px;align-items:center}.drawer-close{display:none}.user-menu{position:absolute;top:16px;right:16px;z-index:20}.reader-shell{width:min(900px,100%);min-height:100%;display:flex;flex-direction:column;align-items:center;gap:18px}.reader-shell.paste-shell{width:min(1180px,100%);min-height:auto;display:grid;grid-template-columns:minmax(360px,1fr) minmax(340px,.86fr);align-items:start;gap:18px}.paste-shell .reader-mode-tabs,.paste-shell .error-banner,.paste-shell .info-banner{grid-column:1 / -1;justify-self:center}.paste-shell .paste-reader{display:contents}.paste-shell .paste-reader-head{grid-column:1 / -1;grid-row:2;width:100%}.paste-shell .paste-reader textarea,.paste-shell .paste-reader .clickable-text{grid-column:1;grid-row:3;width:100%;align-self:start}.paste-shell .session-summary,.paste-shell .cache-toast,.paste-shell .interim,.paste-shell .lookup-empty,.paste-shell .card-stage{grid-column:2;grid-row:3;width:100%;align-self:start}.reader-mode-tabs{display:inline-flex;gap:4px;padding:4px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 6px 18px #1a18140d}.reader-mode-tabs button{min-height:34px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:var(--ink-soft);font-size:14px}.reader-mode-tabs button.active,.reader-mode-tabs button[aria-selected=true]{background:var(--text);color:#fff}.user-menu-trigger{width:36px;height:36px;border-radius:999px;background:var(--panel);border:1px solid var(--border);color:var(--text);font-family:var(--serif);font-size:16px;font-weight:600;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.user-menu-trigger:hover{background:var(--panel-alt);border-color:var(--muted)}.user-menu-panel{position:absolute;top:44px;right:0;min-width:200px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 32px #1a18141a;padding:6px;display:flex;flex-direction:column;gap:2px;animation:cardFadeUp .18s ease-out}.user-menu-email{font-size:12px;color:var(--muted);padding:8px 12px 6px;border-bottom:1px solid var(--border);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-item{display:block;padding:8px 12px;border-radius:4px;color:var(--text);background:transparent;border:0;font:inherit;font-size:14px;font-weight:500;text-align:left;text-decoration:none;cursor:pointer;width:100%}.user-menu-item:hover{background:var(--panel-alt)}.user-menu-divider{height:1px;background:var(--border);margin:4px 0}.user-menu-danger{color:var(--danger)}.user-menu-danger:hover{background:var(--accent-soft)}.settings-drawer{border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;min-height:0;overflow:hidden}.settings-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);gap:8px}.settings-head h2{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:500}.settings-head-actions{display:inline-flex;gap:6px}.settings-head-actions button.ghost{background:transparent;border:1px solid var(--border);color:var(--ink-soft);padding:4px 10px;font-size:12px;border-radius:4px;cursor:pointer}.settings-head-actions button.ghost:hover{color:var(--text);border-color:var(--muted)}.settings-list{flex:1;overflow-y:auto;padding:12px 0}.settings-list section{padding:4px 20px 16px}.settings-list h3{margin:14px 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:500}.setting-row{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-bottom:1px solid var(--border)}.setting-row label{font-size:13px;font-weight:500;color:var(--text);display:flex;justify-content:space-between;align-items:center;gap:6px}.setting-row input[type=range]{width:100%;accent-color:var(--accent)}.setting-hint{font-size:12px;color:var(--ink-soft);line-height:1.45}.reset-one{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:14px;padding:0 4px;line-height:1}.reset-one:hover{color:var(--accent)}.settings-error{margin:12px 20px;padding:8px 12px;background:#fbeae6;border:1px solid var(--danger);color:var(--danger);border-radius:6px;font-size:13px}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--panel);border:1px solid var(--border);font-size:13px;color:var(--ink-soft)}.dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.dot.live{background:#2f8a3f;box-shadow:0 0 8px #2f8a3f55}.dot.paused,.dot.muted{background:#c08a1a}.hero{text-align:center;color:var(--ink-soft);max-width:720px}.hero h1{margin:0 0 16px;color:var(--text);font-family:var(--serif);font-size:64px;font-weight:600;letter-spacing:-.02em;line-height:1.05}.hero p{margin:8px 0;font-size:20px;line-height:1.5;color:var(--ink-soft)}.hero kbd{background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:12px;font-family:ui-monospace,monospace;color:var(--text)}.reader-hero{margin:auto 0}.paste-reader{width:min(760px,100%);display:flex;flex-direction:column;gap:12px}.paste-reader-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.paste-reader-head button{min-height:30px;padding:5px 10px;border-radius:6px;font-size:12px;color:var(--ink-soft)}.paste-tabs{display:inline-flex;gap:4px;padding:4px;background:var(--panel);border:1px solid var(--border);border-radius:10px}.paste-tabs button{min-height:30px;border:0;border-radius:7px;background:transparent;color:var(--ink-soft)}.paste-tabs button[aria-selected=true]{background:var(--text);color:#fff}.paste-tabs button:disabled{opacity:.42}.paste-reader textarea{width:100%;min-height:180px;max-height:min(55vh,520px);resize:vertical;padding:12px 14px;line-height:1.45;box-shadow:0 8px 24px #1a18140f}.clickable-text{min-height:260px;max-height:min(62vh,620px);resize:vertical;overflow-y:auto;padding:16px 18px;background:#ffffffc7;border:1px solid var(--border);border-radius:8px;font-family:var(--serif);font-size:22px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 8px 24px #1a18140f;touch-action:pan-y}.clickable-text button{display:inline;min-height:0;padding:1px 3px;margin:0;border:0;border-radius:4px;background:transparent;font-family:inherit;font-size:inherit;font-weight:inherit;color:var(--text);line-height:inherit;user-select:none;-webkit-user-select:none}.clickable-text button:hover{background:var(--accent-soft);color:var(--accent)}.clickable-text.is-selecting{cursor:crosshair;user-select:none;-webkit-user-select:none}.clickable-text button.selected{background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 1px #b54a1e29}.clickable-empty{color:var(--muted);font-family:var(--sans);font-size:15px;font-style:italic}.session-summary{width:min(680px,100%);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px;box-shadow:0 12px 30px #1a18141f;animation:cardFadeUp .18s ease-out}.session-summary div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.session-summary strong{font-size:14px;color:var(--text)}.session-summary span,.session-summary p{font-size:13px;color:var(--ink-soft)}.session-summary p{margin:10px 0 12px;line-height:1.4}.session-summary button{min-height:32px;padding:5px 10px;border-radius:6px;font-size:13px}.interim{width:min(760px,100%);padding:0;text-align:left;font-family:var(--serif);font-size:28px;font-weight:400;font-style:italic;letter-spacing:-.005em;line-height:1.35;color:var(--ink-soft);pointer-events:none;overflow-wrap:anywhere;animation:cardFadeUp .18s ease-out both}.interim.placeholder{opacity:.42;color:var(--muted)}.card-stage{width:min(900px,100%);min-height:0;display:flex;justify-content:center}.lookup-empty{min-height:220px;display:flex;align-items:center;justify-content:center;padding:24px;border:1px dashed var(--border);border-radius:10px;background:#ffffff7a;color:var(--muted);font-size:14px;text-align:center}.card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(1100px,calc(100% - 80px));background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:44px 56px;box-shadow:0 24px 60px #1a18141f,0 4px 14px #1a18140f;animation:cardSlideUp .44s cubic-bezier(.22,1.2,.36,1);transform-origin:50% 60%}.card.partial{border-color:var(--accent);box-shadow:0 24px 60px #b54a1e2e,0 0 0 1px var(--accent-soft)}.card .placeholder{opacity:.4}.card.fading-out{animation:cardFadeOut .34s cubic-bezier(.55,0,.7,.2) forwards;pointer-events:none;z-index:0}.card.fading-out .head,.card.fading-out .form-line,.card.fading-out .translation,.card.fading-out .example,.card.fading-out .source-de,.card.fading-out .hardest-word-block{animation:none;opacity:1;transform:none}.card:not(.fading-out){z-index:1}.card-stage .card{position:relative;top:auto;left:auto;right:auto;bottom:auto;transform:none;width:min(900px,100%);margin:0;padding:34px 40px;animation:cardFadeUp .22s cubic-bezier(.16,1,.3,1)}.card .head,.card .form-line,.card .translation,.card .example,.card .source-de,.card .hardest-word-block{animation:cardFadeUp .4s cubic-bezier(.16,1,.3,1) both}.card .head{animation-delay:.04s}.card .form-line{animation-delay:.12s}.card .translation,.card .source-de{animation-delay:.18s}.card .example{animation-delay:.28s}.card .hardest-word-block{animation-delay:.34s}@keyframes cardFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes listeningDot{0%,to{opacity:.35;transform:translateY(0)}45%{opacity:1;transform:translateY(-2px)}}@keyframes listeningTextIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes composerIdleBlink{0%,to{border-color:var(--border);box-shadow:0 0 #b54a1e00}45%{border-color:#b54a1e75;box-shadow:0 0 0 3px #b54a1e12}}@keyframes interimFadeUp{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes cardSlideUp{0%{opacity:0;transform:translate(-50%,calc(-50% + 36px)) scale(.92)}60%{opacity:1}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes cardFadeOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,calc(-50% - 24px)) scale(.96)}}@keyframes cardSlideUpMobile{0%{opacity:0;transform:translateY(28px) scale(.94)}60%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cardFadeOutMobile{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-14px) scale(.97)}}.card .head{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}.card .article{color:var(--accent);font-family:var(--serif);font-weight:600;font-size:56px;letter-spacing:-.01em}.card .surface{font-family:var(--serif);font-size:76px;font-weight:600;letter-spacing:-.02em;line-height:1.05;color:var(--text)}.surface-with-audio{display:inline-flex;align-items:center;gap:8px;min-width:0}.card .pos{font-size:13px;text-transform:uppercase;color:var(--accent);letter-spacing:.1em;background:var(--accent-soft);padding:5px 12px;border-radius:999px;align-self:center;font-weight:500}.card .form-line{display:flex;align-items:center;gap:16px;margin-top:14px;flex-wrap:wrap;font-size:22px;color:var(--ink-soft)}.card .form-tag{background:var(--panel-alt);border:1px solid var(--border);color:var(--accent);padding:5px 12px;border-radius:6px;font-size:16px;font-weight:500;letter-spacing:.01em}.card .lemma-ref{display:inline-flex;gap:8px;font-family:var(--serif);font-size:22px;color:var(--ink-soft)}.card .lemma-ref .article{font-weight:500;font-size:22px;font-family:var(--serif)}.card .translation{margin-top:20px;font-size:38px;font-weight:500;color:var(--text);line-height:1.2;letter-spacing:-.01em}.card .example{margin-top:28px;padding-top:20px;border-top:1px solid var(--border);color:var(--ink-soft);font-size:20px;line-height:1.5}.card .example .de{font-family:var(--serif);color:var(--text);margin-bottom:6px;font-size:22px}.card .sentence-translation{font-family:var(--serif);font-size:52px;font-weight:500;line-height:1.12;letter-spacing:-.01em;color:var(--text)}.card .source-de{margin-top:14px;font-family:var(--serif);font-size:24px;font-weight:400;color:var(--ink-soft);line-height:1.4;font-style:italic}.card .hardest-word-block{margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}.card .hardest-word-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:12px;font-weight:500}.card .compact-word{color:var(--text)}.card .compact-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.card .compact-article{color:var(--accent);font-family:var(--serif);font-weight:600;font-size:28px}.card .compact-surface{font-family:var(--serif);font-size:36px;font-weight:600;letter-spacing:-.01em;line-height:1.1;color:var(--text)}.compact-surface-with-audio{display:inline-flex;align-items:center;gap:6px;min-width:0}.card .compact-pos{font-size:11px;text-transform:uppercase;color:var(--accent);letter-spacing:.1em;background:var(--accent-soft);padding:3px 10px;border-radius:999px;align-self:center;font-weight:500}.card .compact-form{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap;font-size:16px;color:var(--ink-soft)}.card .compact-form .form-tag{font-size:13px;padding:3px 10px}.card .compact-form .lemma-ref,.card .compact-form .lemma-ref .article{font-size:16px;font-family:var(--serif)}.card .compact-translation{margin-top:10px;font-size:22px;font-weight:500;color:var(--text)}.card .compact-example{margin-top:12px;color:var(--ink-soft);font-size:15px;line-height:1.5}.card .compact-example .de{color:var(--text);font-family:var(--serif);font-size:16px;margin-bottom:2px}.card-actions{display:flex;align-items:center;gap:8px;margin-top:28px;padding-top:18px;border-top:1px solid var(--border)}.card-action{min-height:34px;padding:6px 12px;border-radius:999px;font-size:13px;color:var(--ink-soft)}.card-action.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.audio-word-button{width:34px;height:34px;min-height:34px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center;align-self:center;flex:0 0 auto}.audio-word-button:hover{background:var(--panel-alt);color:var(--accent)}.audio-word-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.audio-word-button .speaker-icon{width:21px;height:21px}.audio-word-button.compact-audio{width:30px;height:30px;min-height:30px}.audio-word-button.compact-audio .speaker-icon{width:18px;height:18px}.history{border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;min-height:0;overflow:hidden}.history-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);gap:8px;background:var(--panel)}.history h2{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:500}.history-clear{font-size:12px;padding:4px 10px;border-radius:4px;color:var(--muted);background:transparent;border:1px solid var(--border);cursor:pointer}.history-clear:hover{color:var(--danger);border-color:var(--danger);background:var(--accent-soft)}.history-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border)}.history-tabs button{min-height:34px;padding:6px 8px;border-radius:6px;font-size:12px;color:var(--ink-soft);background:transparent}.history-tabs button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.history-list{flex:1;overflow-y:auto;padding:8px 0}.history-empty{padding:20px;color:var(--muted);font-size:14px;font-style:italic}.history-item{width:100%;background:transparent;border:0;border-radius:0;text-align:left;padding:12px 20px;cursor:pointer;display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--border)}.history-item:hover{background:var(--panel-alt)}.history-item .lemma{font-family:var(--serif);font-weight:600;font-size:18px;color:var(--text);letter-spacing:-.01em}.history-item .meta{font-size:13px;color:var(--ink-soft)}.error-banner{width:min(680px,100%);background:#fbeae6;border:1px solid var(--danger);color:var(--danger);padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500}.cache-toast{background:var(--panel);border:1px solid var(--border);color:var(--ink-soft);padding:8px 16px;border-radius:999px;font-size:14px;animation:slideUp .18s ease-out;box-shadow:0 4px 12px #1a18140f}.info-banner{width:min(680px,100%);background:var(--panel);border:1px solid var(--accent);color:var(--text);padding:10px 16px;border-radius:8px;font-size:14px;z-index:30;display:inline-flex;align-items:center;gap:12px;box-shadow:0 4px 14px #1a181414}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a181473;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;animation:cardFadeUp .18s ease-out}.modal{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px 32px;max-width:460px;width:100%;box-shadow:0 20px 60px #1a181440}.modal h2{margin:0 0 12px;font-family:var(--serif);font-size:28px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.modal p{margin:0 0 12px;color:var(--ink-soft);line-height:1.5;font-size:15px}.modal p.upsell{background:var(--panel-alt);border:1px solid var(--border);padding:12px 14px;border-radius:8px;color:var(--text)}.modal .price-line{display:inline-flex;align-items:baseline;gap:10px;margin-left:8px}.modal .price-line span{color:var(--muted);font-size:13px;text-decoration:line-through}.modal-actions{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}.icon{display:inline-block;width:1em;height:1em;vertical-align:-.15em;flex-shrink:0}@media(max-width:640px){.app{--side-width: 0px;grid-template-columns:1fr}.main{padding:64px 12px 136px;justify-content:flex-start}.controls{bottom:calc(16px + env(safe-area-inset-bottom,0px));gap:6px;padding:6px;width:calc(100% - 16px);max-width:calc(100% - 16px);flex-wrap:wrap;border-radius:18px}.controls button{padding:0 14px}.controls .status-pill{padding:0 8px}.controls .meter{padding:0 6px}.typed-lookup{order:-1;width:100%;flex-basis:100%}.typed-lookup .composer-textarea{min-width:0;flex:1;width:auto}.composer-input-wrap{flex:1 1 auto}.typed-lookup button{flex:0 0 auto}.typed-lookup .lookup-submit{display:inline-flex}.meter{padding:4px 8px;gap:0}.meter-label,.meter-silent{display:none}.meter-bar{width:44px}.user-menu{top:12px;right:12px}.reader-shell{gap:14px}.reader-shell.paste-shell{width:100%;display:flex;flex-direction:column;align-items:center}.reader-shell.paste-shell .paste-reader{display:flex}.reader-shell.paste-shell .paste-reader-head,.reader-shell.paste-shell .paste-reader textarea,.reader-shell.paste-shell .paste-reader .clickable-text,.reader-shell.paste-shell .lookup-empty,.reader-shell.paste-shell .card-stage,.reader-mode-tabs{width:100%}.reader-mode-tabs button{flex:1}.hero h1{font-size:40px}.hero p{font-size:17px}.paste-reader{width:100%}.paste-reader textarea{min-height:170px;max-height:min(48vh,420px)}.clickable-text{min-height:220px;max-height:min(52vh,460px);padding:12px 14px;font-size:19px}.session-summary{width:auto}.interim{font-size:20px;width:100%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-height:calc(1.35em * 3)}.lookup-empty{min-height:160px;width:100%}.card{position:absolute;top:330px;left:8px;right:8px;bottom:auto;width:auto;transform:none;padding:22px 20px;margin:0;animation:cardSlideUpMobile .36s cubic-bezier(.22,1.2,.36,1)}.card-stage .card{position:relative;top:auto;left:auto;right:auto;width:100%;padding:22px 20px;animation:cardFadeUp .22s cubic-bezier(.16,1,.3,1)}.card.fading-out{animation:cardFadeOutMobile .32s cubic-bezier(.55,0,.7,.2) forwards}.card .article{font-size:36px}.card .surface{font-size:44px}.card .translation{font-size:24px}.card .form-line{font-size:16px}.card .sentence-translation{font-size:30px}.card .source-de{font-size:17px}.card .example{font-size:16px}.card .example .de{font-size:17px}.card .compact-surface{font-size:26px}.card .compact-article{font-size:22px}.card .compact-translation{font-size:18px}.history,.settings-drawer{position:fixed;left:0;right:0;bottom:0;top:auto;max-height:65vh;border-left:0;border-top:1px solid var(--border);border-radius:14px 14px 0 0;box-shadow:0 -8px 24px #1a18142e;z-index:50;transform:translateY(100%);transition:transform .22s ease-out}.history[data-open=true],.settings-drawer[data-open=true]{transform:translateY(0)}.modal{padding:22px 20px}.modal h2{font-size:22px}.saved-toggle-top{display:inline-flex;align-items:center}.drawer-close{display:inline-block}}
