*{box-sizing:border-box}:root{--bg:#fdf5c8;--surface:#fdf8df;--surface-elevated:#f9edae;--surface-soft:#f3e090;--border:#111;--border-subtle:#c4b478;--text:#111;--muted:#6b6560;--accent:#ff6ec7;--accent-strong:#e04dac;--accent-soft:#ff9dd8;--primary:#ff6ec7;--secondary:#ffd951;--shadow:4px 4px 0 #111;--shadow-sm:2px 2px 0 #111;--danger-bg:#f9e8e4;--danger-border:#c0392b;--cluster-1:#e04dac;--cluster-2:#2d7dd2;--cluster-3:#e87d1e;--cluster-4:#6b8e23;--cluster-5:#9b59b6}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}main{max-width:960px;margin:0 auto;padding:24px;width:100%;flex:1 1}.card{background:var(--surface);border:2px solid var(--border);border-radius:0;padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}.appNav,.row{display:flex;gap:10px;flex-wrap:wrap}.appNav{align-items:center;padding:10px 20px;background:var(--surface);border:none;border-bottom:3px solid var(--border);border-radius:0;margin-bottom:0;box-shadow:none}.appNavLogo{font-size:1.15rem;font-weight:900;color:var(--accent);letter-spacing:-.01em;line-height:1;text-decoration:none;flex-shrink:0}.appNavRight{display:flex;align-items:center;gap:8px;margin-left:auto}.grammatikNavCta{font-size:.8rem;font-weight:700;padding:5px 12px;border:2px solid var(--border);background:var(--surface-elevated);color:var(--text);text-transform:uppercase;letter-spacing:.6px;box-shadow:var(--shadow-sm);transition:transform .08s,box-shadow .08s}.grammatikNavCta:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--border)}.hamburgerButton{display:none;width:36px;height:36px;padding:0;border:2px solid var(--border);background:var(--surface-elevated);cursor:pointer;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.hamburgerIcon{display:block;width:18px;height:2px;background:var(--text);position:relative;transition:background .15s}.hamburgerIcon:after,.hamburgerIcon:before{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--text);transition:transform .15s}.hamburgerIcon:before{top:-6px}.hamburgerIcon:after{top:6px}.hamburgerOpen{background:transparent}.hamburgerOpen:before{transform:rotate(45deg);top:0}.hamburgerOpen:after{transform:rotate(-45deg);top:0}.mobileMenu{display:none;flex-direction:column;width:100%;border-top:2px solid var(--border);margin-top:10px;padding-top:10px;gap:4px}.mobileMenuItem{display:block;padding:10px 12px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;border:2px solid transparent;color:var(--text);transition:background .1s}.mobileMenuItem:hover,.mobileMenuItemActive{background:var(--surface-elevated);border-color:var(--border)}.mobileMenuItemActive{box-shadow:inset 2px 2px 0 rgba(0,0,0,.15)}.appNavLinks{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0;margin:0 auto}.appNavLinks a{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:5px 10px;border:2px solid transparent;color:var(--text);transition:border-color .1s,background .1s}.appNavLinks a:hover{animation:rubberStamp .15s cubic-bezier(.25,.46,.45,.94) both}.appNavLinks a.appNavLinkActive,.appNavLinks a:hover{border-color:var(--border);background:var(--surface-elevated)}.appNavLinks a.appNavLinkActive{box-shadow:inset 2px 2px 0 rgba(0,0,0,.15)}.logoText{font-size:1.5rem;font-weight:900;color:var(--accent);letter-spacing:-.01em;line-height:1}.appFooter{width:100%;display:flex;border-top:3px solid var(--border);background:var(--surface);position:relative}.appFooter:before{content:"";position:absolute;top:-3px;left:0;right:0;height:3px;background:var(--accent)}.footerInner{max-width:960px;margin:0 auto;width:100%;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.footerWordmark{display:inline-flex;align-items:center;justify-content:center}.footerCopyright{color:var(--muted);font-size:13px;font-weight:600}.footerContent{display:inline-flex;align-items:center;gap:14px;font-size:13px;margin-left:auto}.footerContent a{color:var(--text);font-weight:700}.footerContent a:hover{color:var(--accent)}.footerLinks{display:inline-flex;align-items:center;gap:14px;font-size:13px}.footerLinks a{color:var(--muted);font-weight:600}.footerLinks a:hover{color:var(--accent)}.footerLinks svg{display:block}.pageTitle{margin:0 0 4px;font-size:28px;font-weight:800;letter-spacing:-.01em}.pageSubtitle{margin:0 0 14px;color:var(--muted)}.lookupPanel{background:var(--surface)}.searchForm{align-items:stretch}button{border:2px solid var(--border);background:var(--surface-elevated);color:var(--text);border-radius:0;padding:10px 14px;cursor:pointer;font-weight:600;box-shadow:var(--shadow-sm);transition:transform .08s,box-shadow .08s}button:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px 0 #111}button:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.primaryButton{min-width:118px;font-weight:700;background:var(--accent);border:2px solid var(--border);color:#fff;box-shadow:var(--shadow-sm),inset 0 1px 0 hsla(0,0%,100%,.2)}.primaryButton:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--border);background:var(--accent-strong)}.primaryButton:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}.primaryButton:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.dangerButton{border-color:var(--danger-border);background:var(--danger-border);color:#fff;box-shadow:2px 2px 0 var(--danger-shadow,#8e1c0d)}.dangerButton:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--danger-shadow,#8e1c0d)}.subtleButton{background:var(--surface);border:2px solid var(--border-subtle);color:var(--muted);font-size:14px;padding:8px 12px;box-shadow:none}.subtleButton:hover:not(:disabled){border-color:var(--border);color:var(--text);box-shadow:var(--shadow-sm);transform:translate(-1px,-1px)}input,select{background:var(--surface);color:var(--text);border:2px solid var(--border);border-radius:0;padding:10px 12px;font-weight:500}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-sm)}.backLink,.muted{color:var(--muted)}.backLink{display:inline-block;font-size:13px;font-weight:700;margin-bottom:16px;text-decoration:none;transition:color .1s}.backLink:hover{color:var(--accent)}.searchBox{position:relative;display:flex;align-items:center}.searchField{flex:1 1 520px;min-width:260px}@media (max-width:600px){.searchForm{flex-direction:column}.searchField{flex-basis:auto}.searchForm .primaryButton{width:100%}}.searchInput{width:100%;min-height:44px;font-size:15px;font-weight:600;padding-right:36px}.inputClearWrap{flex:1 1;display:flex;align-items:center;min-width:0}.inputClearWrap>input{flex:1 1;width:0;min-width:0}.inputClearBtn{margin-left:-34px;margin-right:10px;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;border:2px solid var(--border);background:var(--surface-elevated);color:var(--muted);font-size:11px;font-weight:900;cursor:pointer;border-radius:0;box-shadow:1px 1px 0 var(--border);transition:background .1s,color .1s;z-index:1;flex-shrink:0}.inputClearBtn:hover{background:var(--danger-bg);color:var(--danger-border);border-color:var(--danger-border);box-shadow:1px 1px 0 var(--danger-border)}.searchBox input{transition:box-shadow .1s}.searchBox input:focus{box-shadow:var(--shadow-sm);outline:none}.searchBox.isLoading input{opacity:.7;padding-left:36px;cursor:text}.searchSpinner{position:absolute;left:12px;width:14px;height:14px;border:2px solid var(--border-subtle);border-top-color:var(--border);border-radius:50%;animation:spin .8s linear infinite}.loadingMessage{text-align:center;color:var(--muted);font-size:.9rem;font-weight:600;margin:12px 0 4px;animation:fadeSlideIn .4s ease}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tipsPage{display:flex;flex-direction:column;align-items:center}.tipsStage{position:relative;width:100%}.tipsContent{transition:opacity .12s ease}.tipsFading{opacity:0}.tipsArrow{position:fixed;top:120px;width:44px;height:44px;background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow-sm);font-size:26px;font-weight:900;line-height:1;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s ease,box-shadow .1s ease,color .1s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:0 0 2px;z-index:2}.tipsArrowPrev{right:calc(50vw + 480px + 16px)}.tipsArrowNext{left:calc(50vw + 480px + 16px)}.tipsArrow:hover:not(:disabled){color:var(--accent);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--border)}.tipsArrow:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}.tipsArrow:disabled{opacity:.15;cursor:default}.tipCard{border-left:4px solid var(--accent);border-right:4px solid transparent}.tipCategory{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin-bottom:2px}.tipTitle{font-size:20px;font-weight:800;margin:0 0 16px;line-height:1.3}.tipBody p{margin:0 0 14px;line-height:1.8;font-size:15px}.tipBody p:last-child{margin-bottom:0}.tipDialogue{display:flex;flex-direction:column;gap:0;margin-bottom:16px;background:var(--surface-elevated);border:1px solid var(--border-subtle);padding:4px 0}.tipDialogueLine{display:flex;font-size:15px;line-height:1.6;padding:6px 14px}.tipSpeaker{font-weight:700;color:var(--accent);white-space:nowrap;margin-right:8px}.tipCompactDialogue{display:flex;flex-direction:column;gap:0;margin-bottom:16px;background:var(--surface-elevated);border:1px solid var(--border-subtle);padding:10px 14px}.tipCompactPhrase{font-size:15px;line-height:1.7;margin:0}.tipNote{font-size:13px;line-height:1.6;padding:10px 14px;border-left:3px solid var(--border-subtle);color:var(--muted)}@media (max-width:768px){.tipsStage{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.tipsArrow{position:static;transform:none;flex:1 1;height:40px;font-size:22px;order:0;background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text)}.tipsArrow:hover:not(:disabled){color:var(--accent);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--border)}.tipsArrow:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}.tipsContent{order:1;width:100%;flex-basis:100%}}@media (max-width:600px){.tipTitle{font-size:18px}.tipBody p{font-size:14px}.tipDialogueLine{flex-direction:column;gap:1px;padding:6px 12px}.tipSpeaker{font-size:12px}.tipCompactPhrase{font-size:14px}.tipNote{font-size:12px}}.tipHeaderRow{justify-content:space-between;margin-bottom:2px}.tipBookmarkBtn,.tipHeaderRow{display:flex;align-items:center}.tipBookmarkBtn{justify-content:center;padding:4px;background:none;border:none;color:var(--muted);cursor:pointer;transition:color .1s ease}.tipBookmarkBtn:hover,.tipBookmarked{color:var(--accent)}.tipsDrawerSection{width:100%;max-width:600px;margin-top:24px;display:flex;flex-direction:column;align-items:center}.tipsDrawerToggle{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:700;color:var(--muted);background:var(--surface);border:2px solid var(--border);cursor:pointer;transition:color .15s ease,border-color .15s ease}.tipsDrawerToggle:hover{color:var(--text);border-color:var(--accent)}.tipsDrawerToggleOpen{color:var(--accent);border-bottom-color:transparent}.tipsDrawerChevron{display:inline-block;font-size:16px;transition:transform .2s ease;transform:rotate(90deg)}.tipsDrawerChevronOpen{transform:rotate(-90deg)}.tipsDrawer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease;border:2px solid transparent;border-top:none;margin-top:-2px;width:100%}.tipsDrawerOpen{grid-template-rows:1fr;border-color:var(--border)}.tipsDrawer>*{overflow:hidden}.upgradeOverlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:overlayFadeIn .15s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.upgradePopup{position:relative;background:var(--surface);border:3px solid var(--border);box-shadow:6px 6px 0 var(--border);max-width:400px;width:100%;padding:32px 28px 28px;text-align:center;animation:popupSlideIn .2s ease}@keyframes popupSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.upgradePopupClose{position:absolute;top:8px;right:12px;background:none;border:none;font-size:24px;color:var(--muted);cursor:pointer;line-height:1;padding:4px}.upgradePopupClose:hover{color:var(--text)}.upgradePopupIcon{margin-bottom:12px}.upgradePopupTitle{margin:0 0 10px;font-size:20px;font-weight:800;color:var(--text)}.upgradePopupText{margin:0 0 10px;font-size:14px;line-height:1.6;color:var(--muted)}.upgradePopupSubtext{font-style:italic;font-size:13px}.upgradePopupBtn{display:inline-block;margin-top:10px;text-decoration:none;font-size:15px;padding:12px 28px}.bookmarksEmpty{text-align:center;padding:40px 20px}.bookmarksEmpty p:first-child{font-size:16px;font-weight:700;margin-bottom:8px}.bookmarksList{display:flex;flex-direction:column;gap:0;width:100%}.bookmarkItem{border:2px solid var(--border);border-left:5px solid var(--accent);background:var(--surface);margin-bottom:-2px;box-shadow:3px 3px 0 var(--border)}.bookmarkItemExpanded{box-shadow:4px 4px 0 var(--border);z-index:1;position:relative}.bookmarkHeader{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:none;border:none;cursor:pointer;text-align:left;color:var(--text);font-size:14px;min-height:48px}.bookmarkHeader:hover{background:var(--surface-elevated)}.bookmarkCategory{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;min-width:100px}.bookmarkTitle{flex:1 1;font-weight:700;font-size:14px}.bookmarkChevron{font-size:22px;font-weight:900;color:var(--muted);transition:transform .15s ease;line-height:1}.bookmarkChevronOpen{transform:rotate(90deg)}.bookmarkBody{padding:0 16px 16px;border-top:1px solid var(--border-subtle)}.bookmarkContent{font-size:14px;line-height:1.7;padding-top:12px}.bookmarkContent p{margin:0 0 10px}.bookmarkContent p:last-child{margin-bottom:0}.bookmarkRemoveBtn{margin-top:12px;padding:6px 14px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--surface);border:2px solid var(--border);color:var(--muted);cursor:pointer;box-shadow:2px 2px 0 var(--border);transition:color .1s ease,transform .1s ease,box-shadow .1s ease}.bookmarkRemoveBtn:hover{color:#dc2626;transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--border)}.bookmarkRemoveBtn:active{transform:translate(1px,1px);box-shadow:none}@media (max-width:768px){.bookmarkCategory{min-width:80px;font-size:9px}.bookmarkTitle{font-size:13px}.bookmarkHeader{gap:8px;padding:12px}}@media (max-width:600px){.bookmarkHeader{flex-wrap:wrap;gap:4px}.bookmarkCategory{width:100%;min-width:unset}.bookmarkTitle{flex:1 1}}.didYouKnow{text-align:center;margin:12px 0 4px;animation:fadeSlideIn .4s ease}.didYouKnowTitle{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 6px}.didYouKnowBody{font-size:.9rem;font-weight:600;line-height:1.6;color:var(--muted);margin:0}.candidateChip,.recentChip{border-radius:0;padding:6px 12px;font-size:13px;font-weight:600;box-shadow:none}.recentChip{background:var(--surface);border-color:var(--border)}.candidateChip{background:var(--surface-elevated);border-color:var(--border)}.searchAnywayHint{margin-top:8px;font-size:13px;color:var(--muted)}.searchAnywayLink{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font-size:13px;font-weight:700;text-decoration:underline;box-shadow:none}.searchAnywayLink:hover{color:var(--accent-strong);transform:none;box-shadow:none}.resultPanel{padding-top:12px}.resultHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.infoTableWrap{margin-top:12px}.infoTableTitle{margin:8px 0 6px;color:var(--muted);font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.8px}.infoTable{width:100%;border-collapse:separate;border-spacing:0;border:2px solid var(--border);border-radius:0;overflow:hidden}.infoTable td,.infoTable th{padding:10px 12px;border-bottom:1px solid var(--border-subtle);vertical-align:top;line-height:1.5}.infoTable tr:last-child td,.infoTable tr:last-child th{border-bottom:none}.infoTable th{min-width:100px;width:auto;white-space:nowrap;color:var(--muted);text-align:left;font-weight:700;background:var(--surface-elevated);text-transform:uppercase;font-size:11px;letter-spacing:.5px}.infoTable td{color:var(--text);background:var(--surface);word-break:break-word}.infoTableWrap--compact{margin-top:8px}.infoTable--compact{border-color:var(--border-subtle)}.infoTable--compact td,.infoTable--compact th{padding:6px 10px;font-size:13px;line-height:1.4}.infoTable--compact th{background:var(--surface-soft)}.exampleBlock{margin-top:12px}.exampleBlockTitle{margin:0 0 6px;color:var(--muted);font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.8px}.exampleBlockList{border:2px solid var(--border);background:var(--surface)}.examplePair{display:flex;gap:10px;padding:12px 14px;line-height:1.6}.examplePair+.examplePair{border-top:1px dashed var(--border-subtle)}.exampleNumber{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--surface-elevated);border:1px solid var(--border-subtle);font-size:11px;font-weight:700;color:var(--muted);margin-top:2px}.exampleTexts{flex:1 1;min-width:0}.exampleDe{margin:0;color:var(--text);font-weight:600;font-size:14px;word-break:break-word}.exampleEn{margin:4px 0 0;color:var(--muted);font-size:13px;word-break:break-word}@media (max-width:600px){.infoTable td,.infoTable th{display:block;width:100%}.infoTable th{border-bottom:none;padding-bottom:2px}.infoTable td{padding-top:2px}}.autoCorrectNotice{margin:10px 0 14px;padding:10px 14px;border:2px solid var(--border);border-left:4px solid var(--accent);background:var(--surface-elevated);color:var(--text);border-radius:0;font-weight:600}.replaceNotice{margin:8px 0 12px;padding:9px 14px;border-left:2px solid var(--danger-border);border:2px solid var(--danger-border);border-left-width:4px;background:var(--danger-bg);color:var(--danger-border);border-radius:0}.selectableMeaning{cursor:pointer;border-radius:0;transition:transform .08s;position:relative}.selectableMeaning:hover{transform:translate(-1px,-1px)}.selectableMeaning.isSelected{border:2px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}.selectableMeaning.isUnselected{border:2px solid var(--border-subtle);background:var(--surface-elevated);opacity:.55}.selectionBadge{position:absolute;top:10px;right:10px;font-size:10px;font-weight:700;padding:2px 8px;border-radius:0;border:2px solid transparent;text-transform:uppercase;letter-spacing:.5px}.selectionBadge.on{background:var(--secondary);border-color:var(--border);color:var(--text)}.selectionBadge.off{background:var(--surface-elevated);border-color:var(--border-subtle);color:var(--muted)}@media (max-width:600px){.selectionBadge{display:none}.selectableMeaning.isSelected{border-left:4px solid var(--accent)}.selectableMeaning.isUnselected{border-left:4px solid var(--border-subtle)}}.deleteConfirmRow{margin-top:8px;padding:10px 12px;border:2px solid var(--danger-border);background:var(--danger-bg);border-radius:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vocabListItem{padding:10px 12px;border:2px solid var(--border);background:var(--surface-elevated);margin-bottom:8px;border-radius:0;box-shadow:var(--shadow);transition:transform .1s,box-shadow .1s}.vocabListItem:not(.isExpanded):hover{animation:rubberStamp .15s cubic-bezier(.25,.46,.45,.94) both}.vocabListItem.isExpanded{box-shadow:var(--shadow);border-left:4px solid var(--accent)}.rootCluster{margin-bottom:20px}.rootClusterLabel{display:inline-block;margin:0;padding:3px 12px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px;color:var(--surface);background:var(--cluster-color,var(--border));border:2px solid var(--border);box-shadow:2px 2px 0 var(--border);line-height:1.4}.rootClusterLabelMuted{background:var(--surface-soft);color:var(--muted);box-shadow:2px 2px 0 var(--border-subtle);border-color:var(--border-subtle)}.rootClusterRail{border-left:4px solid var(--cluster-color,var(--border));padding-left:10px;margin-left:6px;margin-top:0}.rootClusterRail .vocabListItem{margin-bottom:6px}.rootClusterRail .vocabListItem.isExpanded{border-left:2px solid var(--border)}.rootClusterUngrouped{margin-top:24px;margin-bottom:20px}@media (max-width:480px){.rootClusterRail{padding-left:8px;margin-left:4px}.rootClusterLabel{font-size:10px;padding:2px 8px}}.vocabStatsRow{margin:4px 0 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vocabStatChip{border-radius:0;border:2px solid var(--border);background:var(--surface-elevated);color:var(--muted);font-size:12px;font-weight:700;line-height:1;padding:4px 10px;text-transform:uppercase;letter-spacing:.3px}.vocabStatChip:hover{animation:rubberStamp .15s cubic-bezier(.25,.46,.45,.94) both}.vocabFilterBar{margin-bottom:14px;border:2px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}.vocabFilterTopRow{display:flex;gap:8px;padding:10px 14px;align-items:center}.vocabFilterToggle{background:var(--surface-elevated);color:var(--muted);border:2px solid var(--border-subtle);border-radius:0;padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;white-space:nowrap;transition:border-color .1s}.vocabFilterToggle:hover,.vocabFilterToggleOpen{border-color:var(--border);color:var(--text)}.vocabFilterToggleOpen{background:var(--secondary)}.vocabFilterPanel{border-top:2px solid var(--border-subtle)}.vocabFilterField{display:flex;flex-direction:column;gap:6px;padding:10px 14px}.vocabFilterField+.vocabFilterField{border-top:2px solid var(--border-subtle)}.vocabFilterLabel{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}.vocabFilterInput{background:var(--surface-elevated);color:var(--text);border:2px solid var(--border);border-radius:0;padding:8px 36px 8px 10px;font-size:13px;font-weight:600}.vocabFilterInput:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-sm)}.vocabChipGroup{display:flex;gap:6px;flex-wrap:wrap}.vocabChip{background:var(--surface);color:var(--muted);border:2px solid var(--border-subtle);border-radius:0;padding:5px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;transition:transform .08s,box-shadow .08s,border-color .08s}.vocabChip:hover{transform:translate(-1px,-1px)}.vocabChip:hover,.vocabChipActive{border-color:var(--border);color:var(--text);box-shadow:var(--shadow-sm)}.vocabChipActive{background:var(--secondary)}.vocabListHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.vocabListBody{cursor:pointer;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle);display:block;gap:10px}.vocabSection{margin-bottom:14px}.vocabMeaningCard{margin-top:10px;margin-bottom:10px;border:1px solid var(--border-subtle);background:var(--surface-elevated);border-radius:0}.vocabNoteBox{margin:10px 0;border:3px solid var(--border);background:var(--surface);box-shadow:var(--shadow);padding:12px}.vocabNoteBox:before{content:"NOTE";display:block;font-size:10px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.vocabNoteDisplay{display:flex;align-items:flex-start;gap:10px}.vocabNoteText{margin:0;padding:8px 12px;background:var(--secondary);font-size:13px;font-weight:600;line-height:1.5;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;flex:1 1;min-width:0}.vocabNoteEditBtn,.vocabNoteText{border:2px solid var(--border);box-shadow:var(--shadow-sm)}.vocabNoteEditBtn{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:6px 14px;background:var(--surface-elevated);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:transform .08s,box-shadow .08s}.vocabNoteEditBtn:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow)}.vocabNoteEditBtn:active{transform:translate(0);box-shadow:none}.vocabNoteEdit{display:flex;flex-direction:column;gap:8px}.vocabNoteTextarea{width:100%;font-family:inherit;font-size:13px;font-weight:600;padding:10px 12px;border:3px solid var(--border);background:var(--surface);color:var(--text);box-shadow:inset 2px 2px 0 var(--border-subtle);resize:vertical;min-height:70px;border-radius:0}.vocabNoteTextarea:focus{outline:none;border-color:var(--accent);box-shadow:inset 2px 2px 0 var(--accent-soft)}.vocabNoteActions{display:flex;gap:8px}.vocabNoteActions button{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:6px 16px;border:2px solid var(--border);background:var(--surface-elevated);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .08s,box-shadow .08s}.vocabNoteActions button:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow)}.vocabNoteActions button:active{transform:translate(0);box-shadow:none}.vocabNoteActions button:first-child{background:var(--accent);color:#fff}.vocabLearnedBadge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:2px solid #388e3c;background:rgba(56,142,60,.12);color:#388e3c;font-size:12px;border-radius:0}.vocabActionRow{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.vocabActionRow button{border:2px solid var(--border);background:var(--surface-elevated);color:var(--text);font-family:inherit;font-size:12px;font-weight:700;padding:4px 12px;cursor:pointer;border-radius:0;transition:background .1s,border-color .1s,color .1s}.vocabLearnedToggle:hover:not(:disabled){border-color:#388e3c;background:rgba(56,142,60,.08)}.vocabLearnedToggleActive{border-color:#388e3c;background:rgba(56,142,60,.12);color:#388e3c}.vocabLearnedToggleActive:hover:not(:disabled),.vocabRemoveButton:hover:not(:disabled){border-color:#c62828;background:rgba(198,40,40,.08);color:#c62828}[data-theme=dark] .vocabLearnedBadge{background:rgba(102,187,106,.15);color:#81c784;border-color:#81c784}[data-theme=dark] .vocabLearnedToggle:hover:not(:disabled){border-color:#81c784;background:rgba(102,187,106,.1)}[data-theme=dark] .vocabLearnedToggleActive{border-color:#81c784;background:rgba(102,187,106,.15);color:#81c784}[data-theme=dark] .vocabLearnedToggleActive:hover:not(:disabled),[data-theme=dark] .vocabRemoveButton:hover:not(:disabled){border-color:#ef5350;background:rgba(239,83,80,.1);color:#ef5350}.lookupSaveRow{display:flex;flex-direction:column;gap:8px}.lookupSaveButton{width:100%;margin-bottom:4px}.lookupNoteSection{margin-top:16px;padding-top:14px;border-top:2px solid var(--border-subtle);display:flex;flex-direction:column;gap:8px}.lookupNoteHeader{margin:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.lookupNoteInput{width:100%;font-family:inherit;font-size:13px;font-weight:600;padding:10px 12px;border:3px solid var(--border);background:var(--surface);color:var(--text);box-shadow:inset 2px 2px 0 var(--border-subtle);resize:vertical;min-height:50px;border-radius:0}.lookupNoteInput:focus{outline:none;border-color:var(--accent);box-shadow:inset 2px 2px 0 var(--accent-soft)}.lookupNoteInput::placeholder{font-weight:400;color:var(--muted)}.flashcardActions{margin-top:14px}.quizVocabBtn{border:2px solid var(--border);background:var(--surface-elevated);color:var(--text);font-family:inherit;font-size:13px;font-weight:700;padding:6px 16px;cursor:pointer;border-radius:0;transition:background .1s,border-color .1s,color .1s}.quizVocabBtn:hover{border-color:#388e3c;background:rgba(56,142,60,.08);color:#388e3c}.quizVocabBtnActive{border-color:#388e3c;background:rgba(56,142,60,.12);color:#388e3c}.quizVocabBtnActive:hover{border-color:#c62828;background:rgba(198,40,40,.08);color:#c62828}.flashcardScreen{padding-top:12px}.flashcardHeader{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.flashcardTitle{margin:0;font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.01em}.flashcardProgress{margin:0;font-size:14px;font-weight:600;color:var(--muted)}.quizMeta{display:inline-flex;gap:5px;margin-left:8px;vertical-align:baseline;flex-wrap:wrap}.quizMetaLevel{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border:1.5px solid}.quizMetaLevel[data-level=A1]{color:#388e3c;border-color:#388e3c;background:rgba(56,142,60,.08)}.quizMetaLevel[data-level=A2]{color:#256427;border-color:#256427;background:rgba(37,100,39,.08)}.quizMetaLevel[data-level=B1]{color:#d29614;border-color:#d29614;background:rgba(210,150,20,.08)}.quizMetaLevel[data-level=B2]{color:#a06a08;border-color:#a06a08;background:rgba(160,106,8,.08)}.quizMetaLevel[data-level=C1]{color:#d35446;border-color:#d35446;background:rgba(211,84,70,.08)}.quizMetaLevel[data-level=C2]{color:#a02c20;border-color:#a02c20;background:rgba(160,44,32,.08)}.quizMetaLevel[data-level=WS]{color:var(--muted);border-color:var(--muted);background:transparent}.flashcardNavRow{margin-top:10px}.flashcardFrontStage{margin-top:22px;padding:40px 8px 16px;text-align:center;border:2px solid var(--border);border-top:4px solid var(--accent);background:var(--surface-elevated);box-shadow:var(--shadow)}.flashcardFrontWord{margin:0;font-size:clamp(38px,5vw,54px);font-weight:900;line-height:1.1;letter-spacing:-.02em}.flashcardPrimaryAction{justify-content:center}.flashcardBackHeader{margin-bottom:10px}.flashcardBackWord{margin:0;font-size:34px;font-weight:800;line-height:1.2}.flashcardBackTranslation{margin:8px 0 0;font-size:19px;color:var(--accent);font-weight:600}.flashcardScorePanel{margin-top:14px}.flashcardScoreHint{margin:0 0 8px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.flashcardScoreGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.flashcardScoreGrid button{width:100%;padding:14px;font-size:15px}.scoreBtnBad{border-color:#c0392b;color:#c0392b;background:#f9e8e4;box-shadow:2px 2px 0 var(--border)}.scoreBtnBad:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px 0 #c0392b}.scoreBtnOk{border-color:#c17d0a;color:#c17d0a;background:#f9edca;box-shadow:2px 2px 0 var(--border)}.scoreBtnOk:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px 0 #c17d0a}.scoreBtnGood{border-color:#2e7d32;color:#2e7d32;background:#e4f5e0;box-shadow:2px 2px 0 var(--border)}.scoreBtnGood:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px 0 #2e7d32}.sessionOverview{max-width:600px;margin:0 auto}.sessionOverviewTitle{margin:0 0 16px;font-size:1.5rem;font-weight:900}.sessionStats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-bottom:20px}.sessionStatItem{display:flex;flex-direction:column;align-items:center;padding:10px 6px;border:2px solid var(--border);background:var(--surface-elevated);box-shadow:var(--shadow-sm)}.sessionStatValue{font-size:1.6rem;font-weight:900;line-height:1}.sessionStatLabel{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-top:4px}.sessionStatGood{border-top:4px solid #2e7d32}.sessionStatGood .sessionStatValue{color:#2e7d32}.sessionStatOk{border-top:4px solid #c17d0a}.sessionStatOk .sessionStatValue{color:#c17d0a}.sessionStatBad{border-top:4px solid #c0392b}.sessionStatBad .sessionStatValue{color:#c0392b}.sessionWordList{margin-bottom:16px}.sessionWordListTitle{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 0 8px}.sessionWordCard{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:2px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);margin-bottom:6px;position:relative}.sessionWordCardSelected{border-left:5px solid var(--accent);background:var(--surface-elevated)}.sessionWordCardSaved{border-left-color:#388e3c;background:rgba(56,142,60,.06)}.sessionWordMain{display:flex;align-items:baseline;gap:8px}.sessionWordDe{font-weight:700;font-size:1rem;color:var(--text)}.sessionWordPos{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.sessionWordEn{font-size:.85rem;color:var(--muted);line-height:1.3}.sessionWordBadge{position:absolute;top:8px;right:8px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--accent-strong);background:var(--surface);border:1px solid var(--accent-soft);padding:2px 6px}.sessionMessage{font-size:.9rem;font-weight:600;color:var(--accent-strong);margin:8px 0}.sessionOverviewActions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.sessionOverviewActions .primaryButton{width:100%;text-align:center}@media (max-width:480px){.sessionStats{grid-template-columns:repeat(2,1fr)}}.quizPage{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 0}.quizHero{margin-bottom:32px}.quizHeadline{font-size:2rem;font-weight:900;letter-spacing:-.02em;margin:0 0 8px}.quizSubtitle{font-size:1rem;color:var(--muted);margin:0}.quizSectionHeading{font-size:1.1rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;color:var(--text)}.quizSectionSubtitle{font-size:.8rem;color:var(--muted);margin:0 0 16px}.quizSectionDivider{width:100%;max-width:720px;border:none;border-top:1px solid var(--border-subtle);margin:40px 0}.quizSourcePicker{display:flex;gap:16px;margin-bottom:28px;width:100%;max-width:720px}.quizSourceCard{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 16px;border:2px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color .15s,box-shadow .15s}.quizSourceCard:hover,.quizSourceCardActive{border-color:var(--accent)}.quizSourceCardActive{background:var(--surface-elevated);box-shadow:var(--shadow)}.quizSourceIcon{font-size:1.8rem}.quizSourceLabel{font-weight:800;font-size:.95rem}.quizSourceDesc{font-size:.75rem;color:var(--muted);line-height:1.4}.quizMcqBanner{width:100%;max-width:720px;display:flex;align-items:center;gap:20px;padding:24px 28px;border:2px solid var(--border);background:var(--surface);box-shadow:var(--shadow);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s}.quizMcqBanner:hover{border-color:var(--accent);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--border)}.quizMcqBannerIcon{font-size:2.4rem;flex-shrink:0}.quizMcqBannerBody{flex:1 1;text-align:left}.quizMcqBannerTitle{font-size:1.15rem;font-weight:900;margin:0 0 4px}.quizMcqBannerDesc{font-size:.85rem;color:var(--muted);margin:0;line-height:1.4}.quizMcqBannerCta{flex-shrink:0;padding:10px 24px;background:var(--accent);border:2px solid var(--border);color:#fff;font-weight:800;font-size:.85rem;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .08s,box-shadow .08s}.quizMcqBannerCta:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--border)}.quizLevelSection{margin-bottom:28px}.quizLevelLabel{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 12px}.quizLevelGrid{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.quizLevelCount{font-size:.75rem;color:var(--muted);margin:8px 0 0}.quizStartSection{display:flex;flex-direction:column;align-items:center;gap:10px}.quizStartButton{min-width:200px;font-size:1rem;padding:12px 32px}.quizStartButtonLarge{min-width:240px;font-size:1.05rem;padding:16px 32px;box-shadow:var(--shadow)}.quizHint{font-size:.8rem;margin:0}.quizError{color:#ff9494;font-size:.85rem;margin:0}@media (max-width:600px){.quizSourcePicker{flex-direction:column}.quizHeadline{font-size:1.5rem}.quizMcqBanner{flex-direction:column;padding:20px 16px}.quizMcqBanner,.quizMcqBannerBody{text-align:center}.quizMcqBannerCta{width:100%;text-align:center}}.levelChip.isSelected[data-level=A1]{background:#388e3c;color:#fff;border-color:#2e7d32}.levelChip.isSelected[data-level=A2]{background:#256427;color:#fff;border-color:#1b4d1e}.levelChip.isSelected[data-level=B1]{background:#d29614;color:#fff;border-color:#b07e0f}.levelChip.isSelected[data-level=B2]{background:#a06a08;color:#fff;border-color:#8a5a06}.levelChip.isSelected[data-level=C1]{background:#d35446;color:#fff;border-color:#b8392c}.levelChip.isSelected[data-level=C2]{background:#a02c20;color:#fff;border-color:#8a2018}.mcqActiveCard{position:relative}.mcqProgressRow{display:flex;align-items:center;gap:12px;margin-bottom:20px}.mcqProgressBar{flex:1 1;height:8px;border:2px solid var(--border);background:var(--surface);overflow:hidden}.mcqProgressFill{height:100%;background:var(--accent);transition:width .3s ease}.mcqProgressText{font-size:.75rem;font-weight:800;color:var(--muted);white-space:nowrap;flex-shrink:0}.mcqQuestionCounter{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px}.mcqQuestionCounterCurrent{color:var(--accent);font-weight:900}.mcqStemText{font-size:2rem;font-weight:900;text-align:left;margin:16px 0 8px;line-height:1.3;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-left:4px solid var(--accent);padding-left:16px}.mcqStemHint{font-size:1rem;font-style:italic;margin:0 0 16px;padding:8px 12px;background:var(--surface-elevated);opacity:0;animation:mcqFadeIn .25s ease forwards}.mcqStemHint,.mcqStemHintNote{color:var(--muted);text-align:left}.mcqStemHintNote{font-size:.7rem;margin:4px 0 12px 20px;opacity:.6;cursor:default}@keyframes mcqFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes mcqPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.mcqTagRow{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start;margin-bottom:20px;padding-left:20px}.mcqTagPill{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border:1px solid var(--border-subtle);background:var(--surface-elevated);color:var(--muted)}.mcqTagCefr[data-level=A1]{color:#388e3c;border-color:#388e3c;background:rgba(56,142,60,.08)}.mcqTagCefr[data-level=A2]{color:#256427;border-color:#256427;background:rgba(37,100,39,.08)}.mcqTagCefr[data-level=B1]{color:#d29614;border-color:#d29614;background:rgba(210,150,20,.08)}.mcqTagCefr[data-level=B2]{color:#a06a08;border-color:#a06a08;background:rgba(160,106,8,.08)}.mcqTagCefr[data-level=C1]{color:#d35446;border-color:#d35446;background:rgba(211,84,70,.08)}.mcqTagCefr[data-level=C2]{color:#a02c20;border-color:#a02c20;background:rgba(160,44,32,.08)}.mcqOptionGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:20px}.mcqTopRow{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.mcqEndEarlyLink{font-size:.75rem;color:var(--muted);background:none;border:none;cursor:pointer;padding:4px 8px;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.mcqEndEarlyLink:hover{color:var(--text)}@media (max-width:600px){.mcqOptionGrid{grid-template-columns:1fr}.mcqStemText{font-size:1.4rem}.mcqKeyboardHint{display:none}.mcqExplanationActions{flex-direction:column;gap:8px}.mcqActionBtn{width:100%;padding:12px 20px;font-size:.95rem}.mcqOptionBtn{padding:16px;font-size:1rem;min-height:52px}.mcqProgressText{display:none}.mcqProgressTextBelow{display:block;text-align:center;font-size:.7rem;font-weight:700;color:var(--muted);margin-top:-12px;margin-bottom:12px}}@media (min-width:601px){.mcqProgressTextBelow{display:none}}.mcqOptionBtn{display:flex;align-items:center;gap:10px;padding:14px 16px;border:2px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;font-size:.95rem;font-weight:600;text-align:left;transition:transform .08s,box-shadow .08s,background .15s,color .15s,border-color .15s;color:var(--text);line-height:1.3}.mcqOptionBtn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--border);border-color:var(--accent)}.mcqOptionBtn:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}.mcqOptionBtn:disabled{cursor:default}.mcqOptionKey{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;border:2px solid var(--border);background:var(--accent);color:#fff;font-weight:900;font-size:.75rem;flex-shrink:0}.mcqOptionCorrect{background:#2e7d32;border-color:#2e7d32;color:#fff;box-shadow:var(--shadow-sm)}.mcqOptionCorrect .mcqOptionKey{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.3);color:#fff}.mcqOptionCorrectReveal{background:#2e7d32;border-color:#2e7d32;color:#fff;box-shadow:var(--shadow-sm);animation:mcqPulse .3s ease}.mcqOptionCorrectReveal .mcqOptionKey{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.3);color:#fff}.mcqOptionIncorrect{background:#c0392b;border-color:#c0392b;color:#fff;box-shadow:var(--shadow-sm)}.mcqOptionIncorrect .mcqOptionKey{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.3);color:#fff}.mcqExplanationBox{border:none;border-top:4px solid var(--accent);background:var(--surface-elevated);padding:14px 16px;margin-bottom:16px;font-size:.9rem;line-height:1.5}.mcqExplanationBox strong{display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:6px}.mcqExplanationText{font-size:.9rem;line-height:1.5;color:var(--text)}.mcqActionBtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:2px solid var(--border);box-shadow:var(--shadow-sm);font-size:.85rem;font-weight:700;cursor:pointer;transition:transform .08s,box-shadow .08s;color:var(--text)}.mcqActionBtn:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--border)}.mcqActionBtn:disabled{opacity:.6;cursor:default}.mcqAddVocabBtn{background:var(--surface);text-transform:none;letter-spacing:0}.mcqAddVocabDone{background:#2e7d32;color:#fff;border-color:#2e7d32}.mcqAddVocabDone:disabled{opacity:1}.mcqAddVocabBtn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--border)}.mcqExplanationActions{display:flex;align-items:center;gap:12px;margin-top:10px}.mcqNextBtn{background:var(--accent);color:#fff;font-weight:800}.mcqNextBtn:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--border)}.mcqEndEarlyRow{text-align:center;margin-top:20px}.mcqScoreDisplay{font-size:5rem;font-weight:900;text-align:center;margin:8px 0 4px;line-height:1}.mcqScoreUnderline{display:block;width:60px;height:4px;margin:8px auto 4px}.mcqScorePercent{font-size:1.2rem;font-weight:700;text-align:center;margin:0 0 20px}.mcqStatTotal{border-top:4px solid var(--accent)}.mcqStatCorrect{border-top:4px solid #2e7d32}.mcqStatCorrect .sessionStatValue{color:#2e7d32}.mcqStatIncorrect{border-top:4px solid #c0392b}.mcqStatIncorrect .sessionStatValue{color:#c0392b}.mcqStatAccuracy{border-top:4px solid var(--muted)}.mcqReviewCard{border:2px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);margin-bottom:8px;cursor:pointer;overflow:hidden;transition:box-shadow .15s}.mcqReviewCard:hover{box-shadow:var(--shadow)}.mcqReviewCardCorrect{border-left:4px solid #2e7d32}.mcqReviewCardIncorrect{border-left:4px solid #c0392b}.mcqReviewHeader{display:flex;align-items:center;gap:10px;padding:12px 16px}.mcqReviewHeaderContent{flex:1 1;min-width:0}.mcqReviewStem{font-weight:800;font-size:1rem;margin:0 0 2px}.mcqReviewHeaderAnswer{font-size:.8rem;color:var(--muted);margin:0}.mcqReviewSaveBadge{font-size:.7rem;color:var(--muted);flex-shrink:0;padding:2px 6px;border:1px solid var(--border-subtle);background:transparent}.mcqReviewSaveBadge.mcqReviewSaved{color:#2e7d32;border-color:#2e7d32;background:rgba(56,142,60,.06)}.mcqReviewIndicator{font-size:1.1rem;font-weight:900;flex-shrink:0}.mcqReviewIndicator.isCorrect{color:#2e7d32}.mcqReviewIndicator.isIncorrect{color:#c0392b}.mcqReviewChevron{font-size:.8rem;color:var(--muted);flex-shrink:0;transition:transform .2s ease}.mcqReviewChevron.isExpanded{transform:rotate(180deg)}.mcqReviewBody{max-height:0;overflow:hidden;transition:max-height .3s ease}.mcqReviewBody.isExpanded{max-height:500px}.mcqReviewBodyInner{padding:0 16px 14px;border-top:1px solid var(--border-subtle)}.mcqReviewStemEn{font-size:.85rem;color:var(--muted);margin:8px 0}.mcqReviewAnswer{font-size:.85rem;margin:2px 0}.mcqReviewAnswer.isCorrect{color:#2e7d32;font-weight:700}.mcqReviewAnswer.isIncorrect{color:#c0392b;font-weight:700}.mcqReviewExplanation{border:1px solid var(--border-subtle);background:var(--surface-elevated);padding:8px 10px;font-size:.8rem;color:var(--muted);margin-top:6px;line-height:1.4}.mcqReviewTags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.mcqKeyboardHint{font-size:.75rem;color:var(--muted);text-align:center;margin:0 0 8px}.mcqReviewActions{display:flex;gap:12px;margin-top:20px}.mcqBackToMenuBtn,.mcqReviewActions .primaryButton{flex:1 1;text-align:center}.mcqBackToMenuBtn{padding:10px 20px;background:none;border:2px solid var(--border);color:var(--text);font-weight:700;font-size:.9rem;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .08s,box-shadow .08s}.mcqBackToMenuBtn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--border)}.levelChip{min-width:54px;text-align:center;border-radius:0;font-weight:700;border-color:var(--border)}.levelChip.isSelected{border-color:var(--border);background:var(--secondary);color:var(--text);box-shadow:var(--shadow-sm)}.relatedUsageList{max-height:220px;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:0;padding:8px 10px;background:var(--surface-elevated)}.relatedUsageItem{margin:0;padding:6px 0;border-bottom:1px solid var(--border-subtle);word-break:break-word}.relatedUsageItem:last-child{border-bottom:none}.fv1-page{display:flex;flex-direction:column;gap:0}.fv1-topBar{display:flex;justify-content:space-between;padding:10px 12px;box-shadow:var(--shadow);margin-bottom:0}.fv1-filterToggle,.fv1-topBar{align-items:center;background:var(--surface);border:2px solid var(--border)}.fv1-filterToggle{display:inline-flex;gap:8px;padding:8px 16px;font-size:14px;font-weight:700;font-family:inherit;color:var(--text);box-shadow:var(--shadow-sm);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:transform 80ms,box-shadow 80ms}.fv1-filterToggle:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow)}.fv1-filterToggle:active{transform:translate(1px,1px);box-shadow:none}.fv1-filterIcon{font-size:16px;line-height:1}.fv1-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;background:var(--accent);color:#fff;font-size:11px;font-weight:800;padding:2px 6px}.fv1-badge,.fv1-diceBtn{border:2px solid var(--border);line-height:1}.fv1-diceBtn{padding:8px 16px;font-size:18px;font-weight:700;font-family:inherit;background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform 80ms,box-shadow 80ms}.fv1-diceBtn:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow)}.fv1-diceBtn:active{transform:translate(1px,1px);box-shadow:none}.fv1-diceBtn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:var(--shadow-sm)}.fv1-desktopDrawer{overflow:hidden;max-height:0;opacity:0;border:2px solid var(--border);border-top:4px solid var(--accent);background:var(--surface);box-shadow:var(--shadow);transition:max-height .3s ease,opacity .2s ease;margin-bottom:16px}.fv1-desktopDrawerOpen{max-height:600px;opacity:1}@media (max-width:768px){.fv1-desktopDrawer{display:none}}.fv1-mobileBackdrop{display:none}@media (max-width:768px){.fv1-mobileBackdrop{display:block;position:fixed;inset:0;z-index:1000;background:transparent;pointer-events:none;transition:background .25s ease}.fv1-mobileBackdropVisible{background:rgba(0,0,0,.5);pointer-events:auto}.fv1-mobileSheet{position:absolute;bottom:0;left:0;right:0;background:var(--surface);border-top:4px solid var(--accent);box-shadow:0 -4px 0 var(--border);padding:16px 16px 24px;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);max-height:80vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.fv1-mobileSheetOpen{transform:translateY(0)}.fv1-grabHandle{width:48px;height:6px;background:var(--border);margin:0 auto 16px}}@media (min-width:769px){.fv1-mobileBackdrop{display:none!important}}.fv1-filterPanelInner{padding:16px;display:flex;flex-direction:column;gap:16px}.fv1-filterSection{display:flex;flex-direction:column;gap:8px}.fv1-filterLabel{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.fv1-chipRow{display:flex;flex-wrap:wrap;gap:8px}.fv1-chip{padding:8px 16px;font-size:14px;font-weight:700;font-family:inherit;border:2px solid var(--border);background:var(--surface);color:var(--text);box-shadow:none;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:transform 80ms,box-shadow 80ms,background .1s;line-height:1.2}.fv1-chip:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-sm)}.fv1-chip:active{transform:translate(1px,1px);box-shadow:none}.fv1-chipActive{background:var(--secondary);border-color:var(--border);box-shadow:var(--shadow-sm)}.fv1-chipActive:hover{box-shadow:var(--shadow)}.fv1-clearRow{display:flex;justify-content:flex-end;padding-top:4px;border-top:2px solid var(--border-subtle)}.fv1-clearBtn{padding:6px 14px;font-size:13px;font-weight:700;font-family:inherit;border:2px solid var(--border);background:var(--surface);color:var(--accent);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:transform 80ms,box-shadow 80ms}.fv1-clearBtn:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-sm)}.fv1-clearBtn:active{transform:translate(1px,1px);box-shadow:none}.fv1-applyBtn{display:none}@media (max-width:768px){.fv1-applyBtn{display:block;width:100%;padding:14px;margin-top:8px;font-size:16px;font-weight:800;font-family:inherit;text-transform:uppercase;letter-spacing:1px;border:2px solid var(--border);background:var(--accent);color:#fff;box-shadow:var(--shadow);cursor:pointer;transition:transform 80ms,box-shadow 80ms}.fv1-applyBtn:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 #111}.fv1-applyBtn:active{transform:translate(2px,2px);box-shadow:none}.fv1-mobileSheet .fv1-filterPanelInner{padding:0}}.articleGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:16px;gap:16px;margin-top:16px}.articleCard{background:var(--surface);border:2px solid var(--border);border-top:4px solid var(--accent);border-radius:0;overflow:hidden;cursor:pointer;transition:transform .08s,box-shadow .08s;box-shadow:var(--shadow);opacity:0}.articleCard:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #111}.articleCardImage{width:100%;height:160px;overflow:hidden;background:var(--surface-soft)}.articleCardImage img{width:100%;height:100%;object-fit:cover}.articleCardBody{padding:14px 16px}.articleCardTitle{margin:0 0 8px;font-size:16px;font-weight:700;line-height:1.35;-webkit-line-clamp:2}.articleCardSnippet,.articleCardTitle{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.articleCardSnippet{margin:0 0 12px;font-size:13px;color:var(--muted);line-height:1.5;-webkit-line-clamp:3}.articleCardMeta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.articleTag{font-size:11px;font-weight:700;padding:3px 8px;border-radius:0;text-transform:uppercase;letter-spacing:.5px;border:2px solid}.articleTagSource{border-color:var(--accent);background:rgba(255,110,199,.1);color:var(--accent)}.articleTagTheme{border-color:var(--border-subtle);background:transparent;color:var(--muted)}.articleCardDate,.articleCardWords{font-size:12px;font-weight:600;color:var(--muted)}.articleDetailImage{width:100%;max-height:400px;overflow:hidden;border-radius:0;margin-bottom:20px;background:var(--surface-soft);border:2px solid var(--border);box-shadow:var(--shadow)}.articleDetailImage img{width:100%;height:100%;object-fit:cover}.articleDetailTitle{margin:0 0 4px;font-size:28px;font-weight:800;line-height:1.25;letter-spacing:-.01em}.articleDetailTitleEn{margin:0 0 14px;font-size:17px;font-style:italic;color:var(--muted);line-height:1.4}.articleCardTitleEn{margin:-4px 0 6px;font-size:13px;font-style:italic;color:var(--muted);line-height:1.3}.articleDetailMeta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:24px}.articleDetailText{background:var(--surface);border:2px solid var(--border);border-radius:0;padding:24px;margin-bottom:24px;font-size:16px;line-height:1.8;box-shadow:var(--shadow)}.articleDetailText p{margin:0 0 16px}.articleDetailText p:last-child{margin-bottom:0}.articleLinkout{display:inline-block;margin-bottom:32px;text-decoration:none}.levelBadge{font-weight:700;letter-spacing:.5px;border-radius:0;border:2px solid}.levelBadge--A1{background:rgba(56,142,60,.1);color:#388e3c;border-color:#388e3c}.levelBadge--A2{background:rgba(46,125,50,.08);color:#256427;border-color:#256427}.levelBadge--B1{background:rgba(210,150,20,.1);color:#d29614;border-color:#d29614}.levelBadge--B2{background:rgba(170,110,8,.1);color:#a06a08;border-color:#a06a08}.levelBadge--C1{background:rgba(211,84,70,.1);color:#d35446;border-color:#d35446}.levelBadge--C2{background:rgba(160,44,32,.1);color:#a02c20;border-color:#a02c20}.articleReaderHint{font-size:12px;color:var(--muted);margin:0 0 10px;font-style:italic;font-weight:500;letter-spacing:.2px}.articleReader,.sentenceWrap{position:relative}.sentenceWrap{display:inline}.articleSentence{display:inline;cursor:default;border-radius:0;transition:background .1s;touch-action:manipulation}.articleSentence:hover,.articleSentenceActive{background:rgba(255,217,81,.25)}.wordClickable{cursor:pointer;border-radius:0;transition:background .1s,color .1s;touch-action:manipulation}.wordClickable:hover{background:rgba(255,217,81,.35);color:var(--text)}.wordKnown{border-bottom:2px dotted rgba(56,142,60,.7)}.wordClickableLexemeActive{background:rgba(255,217,81,.45);color:var(--text)}.sentenceTooltip{display:block;background:var(--surface-elevated);border:2px solid var(--border);border-left:4px solid var(--accent);border-radius:0;padding:8px 12px;margin:4px 0 8px;font-size:14px;line-height:1.5;color:var(--muted);font-style:italic;animation:tooltipFadeIn .12s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sentencePopover{position:absolute;z-index:90;background:var(--surface);border:2px solid var(--border);border-left:4px solid var(--accent);border-radius:0;padding:0;min-width:280px;max-width:480px;box-shadow:var(--shadow);animation:tooltipFadeIn .12s ease}.sentencePopoverHeader{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid var(--border-subtle)}.sentencePopoverText{padding:10px 12px;margin:0;font-size:14px;line-height:1.5;color:var(--muted);font-style:italic}.wordPopover{position:absolute;z-index:100;background:var(--surface);border:2px solid var(--border);border-radius:0;padding:0;min-width:260px;max-width:360px;box-shadow:var(--shadow);animation:tooltipFadeIn .12s ease}.wordPopoverSticky{border-color:var(--accent);box-shadow:var(--shadow),0 0 0 2px var(--accent)}@keyframes stickyPulse{0%,to{opacity:.6}50%{opacity:1}}.wordPopoverSticky .wordPopoverHeader:after{content:"⏳";font-size:12px;animation:stickyPulse 1.5s ease-in-out infinite;margin-left:6px}.wordPopoverHeader{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border-subtle);font-size:16px;font-weight:700}.wordPopoverClose{background:none;border:2px solid transparent;color:var(--muted);cursor:pointer;font-size:16px;padding:2px 6px;border-radius:0;box-shadow:none;transition:border-color .1s}.wordPopoverClose:hover{border-color:var(--border);color:var(--text);transform:none;box-shadow:none}.wordPopoverBody{padding:10px 14px;font-size:14px}.wordPopoverMeaning{display:flex;gap:8px;align-items:baseline;margin-bottom:6px}.wordPopoverPos{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--muted);white-space:nowrap;letter-spacing:.5px}.wordPopoverEn{color:var(--text)}.wordPopoverSavedBadge{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--accent);letter-spacing:.5px}.wordPopoverGrammar{font-size:12px;font-style:italic;color:var(--muted);font-weight:500;margin-left:6px}.wordPopoverToggle{display:block;background:none;border:none;color:var(--accent);font-size:12px;font-weight:700;cursor:pointer;padding:4px 0 0;margin:0;box-shadow:none}.wordPopoverToggle:hover{text-decoration:underline;transform:none;box-shadow:none}.wordPopoverActions{display:flex;gap:8px;margin-top:10px}.wordPopoverAction{flex:1 1;padding:7px 10px;font-size:12px;font-weight:700;border-radius:0;border:2px solid var(--border);background:var(--surface-elevated);color:var(--text);cursor:pointer;box-shadow:none;transition:transform .08s,box-shadow .08s}.wordPopoverAction:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:var(--shadow-sm)}.wordPopoverAction:disabled{opacity:.4;cursor:default}.btnSpinnerWrap{display:inline-flex;align-items:center;gap:6px}.btnSpinner{display:inline-block;width:12px;height:12px;border:2px solid var(--border-subtle);border-top-color:var(--border);border-radius:50%;animation:spin .8s linear infinite}.wordPopoverActionPrimary{background:var(--accent);border-color:var(--border);color:#fff}.wordPopoverActionPrimary:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:var(--shadow-sm);background:var(--accent-strong)}.wordPopoverActionDanger{border-color:var(--danger-border);color:var(--danger-border)}.wordPopoverActionDanger:hover:not(:disabled){transform:translate(-1px,-1px);background:var(--danger-bg);box-shadow:2px 2px 0 var(--danger-border)}.wordPopoverCefr{font-size:10px;padding:2px 6px;margin-left:4px}.wordPopoverFormInfo{padding:6px 14px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--border-subtle);font-style:italic}.wordPopoverTip{border-left:3px solid var(--accent);font-style:italic;color:var(--text)}.wordPopoverExample,.wordPopoverTip{margin:8px 0 4px;padding:8px 10px;background:var(--hover);font-size:13px;line-height:1.45}.wordPopoverExample{border:2px solid var(--border-subtle)}.wordPopoverExampleDe{display:block;color:var(--text);font-weight:600}.wordPopoverExampleEn{display:block;color:var(--muted);font-size:12px;margin-top:2px}.wordPopoverSynonyms{margin:8px 0 4px}.wordPopoverSynonymsLabel{display:block;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--muted);letter-spacing:.5px;margin-bottom:6px}.wordPopoverSynonymsList{display:flex;flex-wrap:wrap;gap:4px}.wordPopoverSynonymItem{padding:2px 7px;border:2px solid var(--border);background:var(--surface);font-size:12px;font-weight:600;color:var(--text);box-shadow:2px 2px 0 var(--border-subtle)}@media (max-width:600px){.sentencePopover{border-left:2px solid var(--border);border-top:4px solid var(--accent)}.sentencePopover,.wordPopover{position:fixed!important;top:auto!important;bottom:0;left:0!important;right:0;width:100%;max-width:100%;min-width:unset;border-radius:16px 16px 0 0;animation:slideUp .2s ease}.wordPopover{border-top:4px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0)}.wordPopoverActions{flex-direction:column}.wordPopoverAction{padding:12px;font-size:14px}.wordPopoverBody{max-height:60vh;overflow-y:auto}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.navSignOut{margin-left:auto;background:none;border:2px solid var(--border-subtle);color:var(--muted);border-radius:0;padding:4px 10px;font-size:.8rem;font-weight:700;cursor:pointer;box-shadow:none}.navSignOut:hover{color:var(--text);border-color:var(--border);box-shadow:var(--shadow-sm);transform:translate(-1px,-1px)}.loginPage{justify-content:center;min-height:70vh;padding:2rem 1rem}.loginCard,.loginPage{display:flex;align-items:center}.loginCard{flex-direction:column;padding:3rem 2.5rem;max-width:400px;width:100%;text-align:center;gap:.75rem;border:2px solid var(--border);border-top:4px solid var(--accent);box-shadow:var(--shadow);background:var(--surface)}.loginTitle{font-size:1.6rem;font-weight:900;margin:0 0 .25rem;color:var(--text);letter-spacing:-.02em}.loginSubtitle{color:var(--muted);font-size:.9rem;margin:0 0 1.5rem;line-height:1.5;max-width:280px}.googleSignInButton{display:flex;align-items:center;gap:10px;background:#fff;color:#111;border:2px solid #111;border-radius:0;padding:10px 20px;font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:3px 3px 0 #111;transition:transform .08s,box-shadow .08s;white-space:nowrap}.googleSignInButton:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 #111}.googleSignInButton:active{transform:translate(2px,2px);box-shadow:none}.appleSignInButton{display:flex;align-items:center;gap:10px;background:#111;color:#fff;border:2px solid #111;border-radius:0;padding:10px 20px;font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:3px 3px 0 #111;transition:transform .08s,box-shadow .08s;white-space:nowrap}.appleSignInButton:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 #111}.appleSignInButton:active{transform:translate(2px,2px);box-shadow:none}.landingPage{max-width:960px;margin:0 auto;padding:3rem 1.5rem 5rem}.landingHero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;margin-bottom:5rem}.landingHeadline{font-size:clamp(2rem,5vw,3.2rem);font-weight:900;margin:0;line-height:1.1;color:var(--text);letter-spacing:-.02em}.landingHeadline:after{content:"";display:block;width:64px;height:4px;background:var(--accent);margin:1rem auto 0}.landingSubtitle{font-size:1.05rem;color:var(--muted);max-width:500px;margin:0;line-height:1.65}.landingCta{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem;align-items:center}.landingCta .appleSignInButton,.landingCta .googleSignInButton{width:240px;justify-content:center}.loginCard .appleSignInButton,.loginCard .googleSignInButton{width:100%;justify-content:center}.landingFeatureSections{display:flex;flex-direction:column;gap:4rem}.landingSection{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem;align-items:center}.landingSectionReverse{direction:rtl}.landingSectionReverse>*{direction:ltr}.landingSectionLabel{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin-bottom:.75rem;border-bottom:2px solid var(--accent);padding-bottom:2px}.landingSectionHeadline{font-size:clamp(1.3rem,3vw,1.7rem);font-weight:800;margin:0 0 .75rem;line-height:1.2;color:var(--text);letter-spacing:-.01em}.landingSectionDesc{font-size:.95rem;color:var(--muted);line-height:1.65;margin:0}.landingPreviewCard{background:var(--surface);border:2px solid var(--border);border-radius:0;padding:1.25rem;font-size:14px;box-shadow:var(--shadow);pointer-events:none}.lpArticleMeta{display:flex;gap:6px;margin-bottom:10px}.lpTag{font-size:10px;font-weight:700;padding:3px 8px;border-radius:0;border:2px solid var(--accent);background:rgba(255,110,199,.08);color:var(--accent);text-transform:uppercase;letter-spacing:.5px}.lpTagLevel{border-color:#2e7d32;background:rgba(46,125,50,.08);color:#2e7d32}.lpArticleTitle{font-size:13px;font-weight:700;margin:0 0 10px;color:var(--text)}.lpArticleBody{font-size:13px;line-height:1.75;color:var(--muted)}.lpWord{border-bottom:2px dashed var(--accent);padding-bottom:1px}.lpWordHighlight{background:rgba(255,217,81,.45);color:var(--text);border-bottom:none;padding:1px 3px;font-weight:700}.lpHint{margin-top:10px;font-size:11px;color:var(--muted);font-style:italic;font-weight:500}.landingGrammarLink{display:inline-block;margin-top:12px;font-size:14px;font-weight:700;color:var(--primary);text-decoration:none}.landingGrammarLink:hover{text-decoration:underline}.lpGrammarList{display:flex;flex-direction:column;gap:8px}.lpGrammarItem{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-left:3px solid var(--border);background:var(--surface-elevated);font-size:13px}.lpGrammarTitle{font-weight:600;color:var(--text)}.lpSearchBar{display:flex;align-items:center;gap:8px;background:var(--surface-elevated);border:2px solid var(--border);border-radius:0;padding:8px 12px;margin-bottom:12px}.lpSearchIcon{font-size:13px}.lpSearchText{font-size:14px;color:var(--text);font-weight:700}.lpEntry{display:flex;flex-direction:column;gap:4px}.lpEntryWord{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.01em}.lpEntryPos{font-size:10px;font-weight:700;color:var(--muted);margin-left:6px;text-transform:uppercase;letter-spacing:.5px}.lpEntryGloss{font-size:13px;color:var(--accent);font-weight:600}.lpEntryGrammar{font-size:11px;color:var(--muted);font-style:italic;margin-top:2px}.lpSaveBtn{margin-top:10px;align-self:flex-start;font-size:12px;font-weight:700;padding:6px 12px;background:var(--accent);border:2px solid var(--border);border-radius:0;color:#fff;cursor:default;box-shadow:2px 2px 0 #111}.lpQuizCard{display:flex;flex-direction:column;gap:12px}.lpQuizLevel{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.lpFlashcard{background:var(--surface-elevated);border:2px solid var(--border);border-radius:0;padding:1.5rem 1rem;text-align:center}.lpFlashcardWord{font-size:28px;font-weight:900;color:var(--text);margin-bottom:6px;letter-spacing:-.02em}.lpFlashcardHint{font-size:12px;color:var(--muted);font-style:italic;font-weight:500}.lpScoreRow{display:flex;gap:8px}.lpScoreBtn{flex:1 1;font-size:12px;font-weight:700;padding:8px 4px;border-radius:0;border:2px solid var(--border-subtle);cursor:default;color:var(--muted);background:var(--surface-elevated)}.lpScoreBtnGood{background:rgba(46,125,50,.08);border-color:#2e7d32;color:#2e7d32}.lpScoreBtnOk{background:rgba(193,125,10,.08);border-color:#c17d0a;color:#c17d0a}.profileDropdownContainer{position:relative;flex-shrink:0}.profileButton{width:36px;height:36px;border-radius:0;background:var(--accent);color:#fff;border:2px solid var(--border);cursor:pointer;font-size:.875rem;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:transform .08s,box-shadow .08s}.profileStreakBadge{font-size:.8rem;font-weight:800;color:var(--text);display:flex;align-items:center;gap:1px;cursor:default}.profileButton:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 #111}.profileDropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--surface);border:2px solid var(--border);border-radius:0;box-shadow:var(--shadow);padding:14px;min-width:210px;z-index:1000;animation:fadeSlideIn .15s ease}.profileDropdownName{font-weight:700;font-size:.95rem;color:var(--text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profileDropdownEmail{font-size:.8rem;color:var(--muted);margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border-subtle);word-break:break-all}.profileDropdownSignOut{width:100%;padding:8px;background:transparent;color:var(--muted);border:2px solid var(--border-subtle);border-radius:0;cursor:pointer;font-size:.875rem;font-weight:700;box-shadow:none;transition:transform .08s,border-color .08s}.profileDropdownSignOut+.profileDropdownSignOut{margin-top:6px}.profileDropdownSignOut:hover{color:var(--text);border-color:var(--border);box-shadow:var(--shadow-sm);transform:translate(-1px,-1px)}@media (max-width:600px){.appNav{flex-wrap:wrap;padding:10px 14px;gap:6px}.appNavLinksDesktop{display:none}.hamburgerButton,.mobileMenu{display:flex}.profileButton{width:32px;height:32px;font-size:.75rem}.profileDropdown{right:-4px;min-width:190px}}@media (max-width:720px){main{padding:16px}.landingPage{padding:2.5rem 1rem 4rem}.landingFeatureSections{gap:2.5rem}.landingSection{grid-template-columns:1fr;gap:1.5rem}.landingSectionReverse{direction:ltr}.landingPreviewCard{padding:1rem}.lpFlashcardWord{font-size:22px}}.startPage{max-width:960px;margin:0 auto;padding:3rem 0 5rem}.startHero{text-align:center;margin-bottom:5rem;padding:0 1rem}.startHeadline{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:900;margin:.5rem 0 1rem;line-height:1.1;letter-spacing:-.02em}.startSubtitle{font-size:1.05rem;color:var(--muted);max-width:500px;margin:0 auto;line-height:1.65}.startStepLabel{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);border-bottom:2px solid var(--accent);padding-bottom:2px;margin-bottom:.75rem}.startStep{position:relative;padding:3rem 0;border-top:2px solid var(--border)}.startStepAlt .startStepLayout{direction:rtl}.startStepAlt .startStepLayout>*{direction:ltr}.startStepNumber{position:absolute;top:-1.1rem;left:0;font-size:.8rem;font-weight:900;background:var(--secondary);border:2px solid var(--border);padding:2px 10px;letter-spacing:1px;color:var(--text)}.startStepLayout{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem;align-items:center}.startStepHeadline{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:800;margin:0 0 1rem;line-height:1.2;letter-spacing:-.01em}.startStepDesc{font-size:.95rem;color:var(--muted);line-height:1.7;margin:0 0 .75rem}.startStepDesc strong{color:var(--text);font-weight:700}.startStepDesc em{color:var(--text);font-style:italic}.startCta{margin-top:5rem;border:2px solid var(--border);background:var(--surface);box-shadow:var(--shadow);padding:3rem 2rem;text-align:center}.startCtaHeadline{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:900;margin:0 0 .75rem;letter-spacing:-.02em}.startCtaDesc{color:var(--muted);font-size:1rem;margin:0 0 2rem;line-height:1.6}.startCtaButtons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}@media (max-width:720px){.startPage{padding:2rem 0 4rem}.startHero{margin-bottom:3rem}.startStepLayout{grid-template-columns:1fr;gap:1.5rem}.startStepAlt .startStepLayout{direction:ltr}.startStep{padding:2.5rem 0}.startCta{padding:2rem 1.25rem}}.adminPage{max-width:1200px;margin:0 auto;padding:0 0 2rem}.adminTitle{margin:0 0 20px;font-size:28px;font-weight:800;letter-spacing:-.01em}.adminError{padding:14px 18px;background:var(--danger-bg);border:2px solid var(--danger-border);border-radius:0;color:var(--danger-border);font-weight:700;box-shadow:var(--shadow-sm)}.adminSummaryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;margin-bottom:24px}.adminSummaryCard{padding:16px 18px;background:var(--surface);border:2px solid var(--border);border-top:4px solid var(--accent);border-radius:0;box-shadow:var(--shadow)}.adminSummaryLabel{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:6px}.adminSummaryValue{font-size:2rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.adminTabs{display:flex;gap:8px;margin-bottom:16px}.adminTab{padding:8px 18px;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;border:2px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:0;box-shadow:none;transition:transform .08s,box-shadow .08s,background .08s}.adminTab:hover:not(.adminTabActive){background:var(--surface-elevated);color:var(--text);transform:translate(-1px,-1px);box-shadow:var(--shadow-sm)}.adminTabActive{background:var(--border);color:var(--bg);box-shadow:none;cursor:default}.adminTabActive:hover{transform:none;box-shadow:none}.adminTableCard{background:var(--surface);border:2px solid var(--border);border-radius:0;box-shadow:var(--shadow);overflow:hidden}.adminTableScroll{overflow-x:auto}.adminTable{width:100%;border-collapse:collapse}.adminTh{padding:10px 14px;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;background:var(--surface-elevated);border-bottom:2px solid var(--border);color:var(--muted);white-space:nowrap}.adminThLeft{text-align:left}.adminThRight{text-align:right}.adminThCenter{text-align:center}.adminTr{border-bottom:1px solid var(--border-subtle)}.adminTd{padding:10px 14px;font-size:14px;vertical-align:middle}.adminTdRight{text-align:right}.adminTdCenter{text-align:center}.adminTdSmall{font-size:13px}.adminTdBold{font-weight:700}.adminTdAccent{color:var(--accent);font-weight:600}.adminTdMuted{color:var(--muted)}.adminUserName{font-weight:700;font-size:14px}.adminUserId{font-size:11px;color:var(--muted);margin-top:2px;font-family:monospace;letter-spacing:.3px}.adminTdTitle{max-width:400px}.adminArticleTitle{font-weight:700;font-size:13px;line-height:1.35}.adminArticleId{font-size:11px;color:var(--muted);margin-top:2px;font-family:monospace;letter-spacing:.3px}.adminLevelBadge{font-size:11px;padding:2px 10px}.adminDeleteBtn{padding:5px 14px;font-weight:700;font-size:12px;border:2px solid var(--danger-border);background:transparent;color:var(--danger-border);cursor:pointer;border-radius:0;box-shadow:none;transition:transform .08s,box-shadow .08s,background .08s}.adminDeleteBtn:hover:not(:disabled){background:var(--danger-bg);transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--danger-border)}.adminDeleteBtn:disabled{opacity:.4;cursor:not-allowed}.adminFootnote{margin-top:12px;font-size:13px;color:var(--muted)}@media (max-width:720px){.adminPage{padding:0 0 1.5rem}.adminSummaryGrid{grid-template-columns:repeat(2,1fr);gap:8px}.adminSummaryCard{padding:12px 14px}.adminSummaryValue{font-size:1.5rem}.adminTd,.adminTh{padding:8px 10px}}@keyframes stampDrop{0%{transform:translateY(-8px);box-shadow:none;opacity:0}to{transform:translateY(0);box-shadow:var(--shadow);opacity:1}}.stampDrop{animation:stampDrop .08s step-end both;animation-delay:calc(var(--stamp-i, 0) * 40ms)}@keyframes rubberStamp{0%{transform:translateY(0)}35%{transform:translateY(3px);box-shadow:none}70%{transform:translateY(-2px);box-shadow:var(--shadow-sm)}to{transform:translateY(-1px)}}@keyframes brutalShake{0%{transform:translateX(0)}20%{transform:translateX(5px)}40%{transform:translateX(-5px)}60%{transform:translateX(4px)}80%{transform:translateX(-4px)}to{transform:translateX(0)}}button.shake{animation:brutalShake .3s steps(4)}@media (prefers-reduced-motion:reduce){.appNavLinks a:hover,.stampDrop,.vocabListItem:hover,.vocabStatChip:hover,button.shake{animation:none!important}}.speakerBtn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:0;cursor:pointer;padding:0 2px;color:var(--muted);opacity:.5;transition:opacity .15s,color .15s;vertical-align:middle;margin-left:2px;box-shadow:none;line-height:1}.speakerBtn:hover{color:var(--accent);opacity:1;transform:none;box-shadow:none}.speakerBtn--sm{padding:0 1px}.articleSentenceWrap .speakerBtn{opacity:0;transition:opacity .15s}.articleSentenceWrap:hover .speakerBtn{opacity:.5}.articleSentenceWrap .speakerBtn:hover{opacity:1}.readAloudBar{display:flex;gap:10px;margin:8px 0 4px;padding:6px 10px;background:var(--surface-elevated)}.readAloudBar,.readAloudBtn{align-items:center;border:2px solid var(--border);border-radius:0;box-shadow:var(--shadow-sm)}.readAloudBtn{display:inline-flex;gap:6px;background:var(--surface);padding:6px 14px;font-weight:700;font-size:13px;cursor:pointer;transition:background .1s}.readAloudBtn:hover{background:var(--surface-soft);transform:none;box-shadow:var(--shadow-sm)}.readAloudBtn.isActive{background:var(--accent-soft);border-color:var(--accent-strong)}.readAloudLabel{font-size:12px;color:var(--muted);font-style:italic}.profileDropdownVoiceSection{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding-top:10px;padding-bottom:10px;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.profileDropdownVoiceGroup{display:flex;flex-direction:column;gap:4px}.profileDropdownVoiceGroupLabel{font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.profileDropdownVoiceRow{display:flex;gap:4px}.profileDropdownVoiceBtn{flex:1 1;padding:6px 2px;font-size:.85rem;background:transparent;border:2px solid var(--border-subtle);border-radius:0;cursor:pointer;color:var(--muted);box-shadow:none;transition:border-color .08s;text-align:center}.profileDropdownVoiceBtn:hover{border-color:var(--border);color:var(--text);transform:none;box-shadow:none}.profileDropdownVoiceBtnActive{border-color:var(--accent);color:var(--text);background:rgba(255,110,199,.08)}.articleSentenceSpeaking{background:rgba(255,110,199,.12)!important;border-left:3px solid var(--accent);padding-left:2px}@keyframes speakerPulse{0%,to{opacity:1}50%{opacity:.4}}.speakerBtn.isSpeaking{color:var(--accent);opacity:1;animation:speakerPulse .8s ease infinite}@media (max-width:600px){.readAloudBar{flex-wrap:wrap}}[data-theme=dark]{--bg:#1a1918;--surface:#242322;--surface-elevated:#2e2d2b;--surface-soft:#383634;--border:#c9b97c;--border-subtle:#3d3b38;--text:#f2ece0;--muted:#918a7c;--accent:#ff7bcc;--accent-strong:#e85cb5;--accent-soft:#ffa0dc;--primary:#ff7bcc;--secondary:#e8c844;--shadow:4px 4px 0 #0a0a0a;--shadow-sm:2px 2px 0 #0a0a0a;--danger-bg:#2c1e1c;--danger-border:#e0584a;--cluster-1:#ff7bcc;--cluster-2:#5da8e8;--cluster-3:#f0a050;--cluster-4:#8cb840;--cluster-5:#b87bdb}[data-theme=dark] .scoreBtnBad{background:#2c1c18;border-color:#c04838;color:#e8786a}[data-theme=dark] .scoreBtnOk{background:#2a2210;border-color:#b08a20;color:#d4aa30}[data-theme=dark] .scoreBtnGood{background:#1a2a18;border-color:#3a8a3e;color:#5cb860}[data-theme=dark] .scoreBtnBad:hover:not(:disabled){box-shadow:3px 3px 0 #c04838}[data-theme=dark] .scoreBtnOk:hover:not(:disabled){box-shadow:3px 3px 0 #b08a20}[data-theme=dark] .scoreBtnGood:hover:not(:disabled){box-shadow:3px 3px 0 #3a8a3e}[data-theme=dark] .mcqAddVocabDone{background:#2e7d32;color:#fff;border-color:#3a8a3e}[data-theme=dark] .sessionWordCardSaved{border-left-color:#4eaa52;background:rgba(78,170,82,.1)}[data-theme=dark] .dangerButton{box-shadow:2px 2px 0 #1a0a08}[data-theme=dark] .dangerButton:hover:not(:disabled){box-shadow:3px 3px 0 #1a0a08}[data-theme=dark] .quizVocabBtn:hover{border-color:#81c784;background:rgba(102,187,106,.1);color:#81c784}[data-theme=dark] .quizVocabBtnActive{border-color:#81c784;background:rgba(102,187,106,.15);color:#81c784}[data-theme=dark] .quizVocabBtnActive:hover{border-color:#ef5350;background:rgba(239,83,80,.1);color:#ef5350}[data-theme=dark] .googleSignInButton{background:var(--surface-elevated);color:var(--text);border-color:var(--border);box-shadow:3px 3px 0 #0a0a0a}[data-theme=dark] .appleSignInButton{background:#fff;color:#111;border-color:var(--border);box-shadow:3px 3px 0 #0a0a0a}[data-theme=dark] .grammatikListItem,[data-theme=dark] .loginCard,[data-theme=dark] .profileDropdown,[data-theme=dark] .sentencePopover,[data-theme=dark] .wordPopover{background:var(--surface)}[data-theme=dark] .vocabNoteBox{background:var(--surface-elevated);border-color:var(--border-subtle)}[data-theme=dark] .vocabNoteEditBtn,[data-theme=dark] .vocabNoteText{background:var(--surface);border-color:var(--border-subtle);color:var(--text)}[data-theme=dark] .vocabNoteTextarea{background:var(--surface);border-color:var(--border-subtle);box-shadow:none}[data-theme=dark] .vocabNoteActions button{background:var(--surface);border-color:var(--border-subtle);color:var(--text)}[data-theme=dark] .vocabNoteActions button:first-child{background:var(--accent);color:#fff}[data-theme=dark] .lookupNoteInput{background:var(--surface);border-color:var(--border-subtle);box-shadow:none}[data-theme=dark] .landingPreviewCard,[data-theme=dark] .startCta{background:var(--surface)}[data-theme=dark] .levelBadge--A1{background:rgba(80,175,85,.15);color:#6ec872;border-color:#45a049}[data-theme=dark] .levelBadge--A2{background:rgba(60,145,65,.12);color:#4eaa52;border-color:#357a38}[data-theme=dark] .levelBadge--B1{background:rgba(220,180,50,.15);color:#e0bb38;border-color:#c09a20}[data-theme=dark] .levelBadge--B2{background:rgba(190,145,35,.12);color:#c89c28;border-color:#a07a18}[data-theme=dark] .levelBadge--C1{background:hsla(6,84%,64%,.15);color:#f08878;border-color:#d05848}[data-theme=dark] .levelBadge--C2{background:rgba(200,70,55,.12);color:#d86858;border-color:#b04030}[data-theme=dark] .quizMetaLevel[data-level=A1]{color:#6ec872;border-color:#45a049;background:rgba(110,200,114,.12)}[data-theme=dark] .quizMetaLevel[data-level=A2]{color:#4eaa52;border-color:#357a38;background:rgba(78,170,82,.12)}[data-theme=dark] .quizMetaLevel[data-level=B1]{color:#e0bb38;border-color:#c09a20;background:rgba(224,187,56,.12)}[data-theme=dark] .quizMetaLevel[data-level=B2]{color:#c89c28;border-color:#a07a18;background:rgba(200,156,40,.12)}[data-theme=dark] .quizMetaLevel[data-level=C1]{color:#f08878;border-color:#d05848;background:hsla(8,80%,71%,.12)}[data-theme=dark] .quizMetaLevel[data-level=C2]{color:#d86858;border-color:#b04030;background:hsla(8,62%,60%,.12)}[data-theme=dark] .mcqTagCefr[data-level=A1]{color:#6ec872;border-color:#45a049;background:rgba(110,200,114,.12)}[data-theme=dark] .mcqTagCefr[data-level=A2]{color:#4eaa52;border-color:#357a38;background:rgba(78,170,82,.12)}[data-theme=dark] .mcqTagCefr[data-level=B1]{color:#e0bb38;border-color:#c09a20;background:rgba(224,187,56,.12)}[data-theme=dark] .mcqTagCefr[data-level=B2]{color:#c89c28;border-color:#a07a18;background:rgba(200,156,40,.12)}[data-theme=dark] .mcqTagCefr[data-level=C1]{color:#f08878;border-color:#d05848;background:hsla(8,80%,71%,.12)}[data-theme=dark] .mcqTagCefr[data-level=C2]{color:#d86858;border-color:#b04030;background:hsla(8,62%,60%,.12)}[data-theme=dark] .sessionStatGood{border-top-color:#3a8a3e}[data-theme=dark] .sessionStatOk{border-top-color:#b08a20}[data-theme=dark] .sessionStatBad{border-top-color:#c04838}[data-theme=dark] .mcqOptionCorrect{background:#2e7d32;border-color:#3a8a3e}[data-theme=dark] .mcqReviewAnswer.isCorrect{color:#6ec872}[data-theme=dark] .mcqReviewAnswer.isIncorrect{color:#f08878}[data-theme=dark] .levelChip.isSelected[data-level=A1]{background:rgba(56,142,60,.25);color:#6ec872;border-color:#45a049}[data-theme=dark] .levelChip.isSelected[data-level=A2]{background:rgba(37,100,39,.25);color:#4eaa52;border-color:#357a38}[data-theme=dark] .levelChip.isSelected[data-level=B1]{background:rgba(210,150,20,.25);color:#e0bb38;border-color:#c09a20}[data-theme=dark] .levelChip.isSelected[data-level=B2]{background:rgba(160,106,8,.25);color:#c89c28;border-color:#a07a18}[data-theme=dark] .levelChip.isSelected[data-level=C1]{background:rgba(211,84,70,.25);color:#f08878;border-color:#d05848}[data-theme=dark] .levelChip.isSelected[data-level=C2]{background:rgba(160,44,32,.25);color:#d86858;border-color:#b04030}[data-theme=dark] .mcqOptionKey{background:var(--accent);border-color:var(--border)}[data-theme=dark] .mcqOptionCorrect,[data-theme=dark] .mcqOptionCorrectReveal{background:#2e7d32;border-color:#3a8a3e}[data-theme=dark] .mcqOptionIncorrect{background:#c0392b;border-color:#c04838}[data-theme=dark] .mcqExplanationBox{border-top-color:var(--accent);background:var(--surface-elevated)}[data-theme=dark] .mcqNextBtn{background:var(--accent);border-color:var(--border)}[data-theme=dark] .mcqEndEarlyLink{color:var(--muted)}[data-theme=dark] .mcqReviewCardCorrect{border-left-color:#3a8a3e}[data-theme=dark] .mcqReviewCardIncorrect{border-left-color:#c04838}[data-theme=dark] .mcqReviewSaveBadge.mcqReviewSaved{color:#6ec872;border-color:#4eaa52;background:rgba(78,170,82,.1)}[data-theme=dark] .mcqReviewIndicator.isCorrect{color:#6ec872}[data-theme=dark] .mcqReviewIndicator.isIncorrect{color:#f08878}[data-theme=dark] .mcqStatCorrect{border-top-color:#3a8a3e}[data-theme=dark] .mcqStatCorrect .sessionStatValue{color:#6ec872}[data-theme=dark] .mcqStatIncorrect{border-top-color:#c04838}[data-theme=dark] .mcqStatIncorrect .sessionStatValue{color:#f08878}[data-theme=dark] .mcqStatTotal{border-top-color:var(--accent)}[data-theme=dark] .mcqStatAccuracy{border-top-color:var(--muted)}[data-theme=dark] .mcqScoreUnderline{opacity:.8}[data-theme=dark] .mcqBackToMenuBtn{color:var(--text);border-color:var(--border)}[data-theme=dark] .quizMcqBanner{background:var(--surface);border-color:var(--border)}[data-theme=dark] .quizMcqBannerCta{background:var(--accent);border-color:var(--border)}[data-theme=dark] .articleSentenceSpeaking{background:rgba(255,123,204,.12)!important;border-left-color:var(--accent)}[data-theme=dark] .articleSentence:hover,[data-theme=dark] .articleSentenceActive{background:rgba(232,200,68,.15)}[data-theme=dark] .wordClickable:hover{background:rgba(232,200,68,.2)}[data-theme=dark] .wordClickableLexemeActive{background:rgba(232,200,68,.28)}[data-theme=dark] .wordKnown{border-bottom-color:rgba(110,200,114,.75)}[data-theme=dark] .hamburgerIcon,[data-theme=dark] .hamburgerIcon:after,[data-theme=dark] .hamburgerIcon:before{background:var(--text)}.paywallOverlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.paywallModal{position:relative;max-width:480px;width:100%;padding:24px;background:var(--surface);border:2px solid var(--border);box-shadow:6px 6px 0 var(--border)}.paywallSubtitle{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.5}.paywallPerks{margin:12px 0 16px;font-size:13px;color:var(--fg);line-height:1.5}.paywallClose{position:absolute;top:8px;right:12px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--muted);line-height:1}.paywallUsage{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.paywallPricing{display:flex;gap:12px;margin-bottom:12px}.paywallGiftLink{display:block;text-align:center;background:none;border:none;color:var(--accent);font-weight:600;font-size:13px;cursor:pointer;padding:4px;font-family:inherit}.pricingCard{flex:1 1;padding:16px;border:2px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);text-align:center;position:relative}.pricingCardHighlight{border-color:var(--accent);box-shadow:4px 4px 0 var(--accent)}.pricingCardBadge{position:absolute;top:-10px;right:12px;background:var(--accent);color:#fff;font-size:11px;font-weight:800;padding:2px 8px;text-transform:uppercase}.pricingCardTitle{font-weight:800;font-size:14px;margin-bottom:4px}.pricingCardPrice{font-size:28px;font-weight:900;margin-bottom:12px}.pricingCardPrice span{font-size:14px;font-weight:600;color:var(--muted)}.pricingFeatures{list-style:none;padding:0;margin:0 0 16px;font-size:13px;text-align:left}.pricingFeatures li{padding:4px 0}.pricingFeatures li:before{content:"✓ ";color:var(--accent);font-weight:700}.usageBadge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border:2px solid var(--border);background:var(--surface-elevated);white-space:nowrap}.lookupUsageRow{display:flex;justify-content:flex-end;margin-bottom:8px}.tierBadge{display:inline-block;font-size:9px;font-weight:800;padding:1px 6px;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.5px}.tierBadgeFree{background:var(--surface-elevated);border:1px solid var(--border-subtle);color:var(--muted)}.tierBadgePremium{background:var(--accent);color:#fff;border:1px solid var(--accent-strong)}.upgradePage{max-width:640px;margin:0 auto}.upgradeSuccessCard{text-align:center;padding:32px 24px;margin-bottom:16px;border-left:4px solid var(--accent)}.upgradeSuccessEmoji{font-size:48px;margin-bottom:8px}.upgradePremiumCard{padding:20px 24px}.upgradePremiumHeader{display:flex;align-items:center;gap:12px}.upgradePremiumBadge{font-weight:800;font-size:16px}.upgradePremiumPlan{font-size:13px;color:var(--muted)}.upgradePricingRow{display:flex;gap:16px}.upgradeComparison{max-width:100%}.upgradeTable{width:100%;border-collapse:collapse;font-size:13px}.upgradeTable td,.upgradeTable th{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-subtle)}.upgradeTable th{font-weight:800;font-size:12px;text-transform:uppercase}.redeemPage{max-width:480px;margin:0 auto}.redeemForm{display:flex;gap:12px;align-items:center}.redeemInput{flex:1 1;padding:10px 14px;background:var(--surface);font-family:monospace;font-size:16px}.btn,.redeemInput{border:2px solid var(--border)}.btn{padding:10px 20px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm);transition:box-shadow .1s}.btn:hover{box-shadow:var(--shadow)}.btn:disabled{opacity:.5;cursor:not-allowed}.btnPrimary{background:var(--accent);color:#fff}.errorBox{padding:12px 16px;margin-bottom:16px;background:var(--danger-bg);border:2px solid var(--danger-border);font-size:13px;font-weight:600}.adminTierBadge{display:inline-block;font-size:10px;font-weight:800;padding:2px 8px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.adminTierBadge--admin{background:#7c3aed;color:#fff}.adminTierBadge--monthly,.adminTierBadge--yearly{background:var(--accent);color:#fff}.adminTierBadge--gift{background:#f59e0b;color:#fff}.adminTierBadge--free{background:var(--surface-elevated);color:var(--muted);border:1px solid var(--border-subtle)}.adminSegmentBadge{display:inline-block;padding:2px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.adminSegmentBadge--new_user{background:#3b82f6;color:#fff}.adminSegmentBadge--freemium_user{background:#f59e0b;color:#fff}.adminSegmentBadge--premium_user{background:#10b981;color:#fff}.adminSegmentBadge--churned_user{background:#ef4444;color:#fff}.adminEmailStatus{display:inline-block;padding:2px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.adminEmailStatus--sent{background:#10b981;color:#fff}.adminEmailStatus--render_error{background:#f59e0b;color:#fff}.adminEmailStatus--permanent_failure{background:#ef4444;color:#fff}.profileDropdownUpgrade{color:var(--accent)!important;font-weight:700!important}@media (max-width:600px){.paywallPricing,.redeemForm,.upgradePricingRow{flex-direction:column}}.grammatikIndex{padding-top:8px}.grammatikHero{text-align:center;padding:32px 0 28px;margin-bottom:24px;border-bottom:3px solid var(--border)}.grammatikHero h1{font-size:28px;font-weight:900;letter-spacing:-.02em;margin:0 0 8px}.grammatikHeroSub{color:var(--muted);font-size:15px;margin:0 0 20px;line-height:1.5}.grammatikHeroCta{display:inline-block;font-size:.85rem;font-weight:800;padding:10px 24px;border:2px solid var(--border);background:var(--accent);color:#111;text-transform:uppercase;letter-spacing:.6px;box-shadow:var(--shadow);transition:transform .08s,box-shadow .08s}.grammatikHeroCta:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--border)}.grammatikIndex h1{font-size:28px;font-weight:900;letter-spacing:-.02em;margin:0 0 4px}.grammatikIntro{color:var(--muted);font-size:15px;margin:0 0 28px}.levelSection{margin-bottom:32px}.levelHeading{font-size:18px;font-weight:800;margin:0 0 12px;padding-bottom:6px;border-bottom:3px solid var(--accent);display:inline-block}.grammatikListItem{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-left:2px solid var(--border);background:var(--surface-elevated);margin-bottom:8px;box-shadow:var(--shadow);transition:transform .1s,box-shadow .1s;border:2px solid var(--border);border-left-width:4px}.grammatikListItem:hover{animation:rubberStamp .15s cubic-bezier(.25,.46,.45,.94) both}.grammatikListItem[data-level=A1]{border-left-color:#388e3c}.grammatikListItem[data-level=A2]{border-left-color:#256427}.grammatikListItem[data-level=B1]{border-left-color:#d29614}.grammatikListItem[data-level=B2]{border-left-color:#a06a08}.grammatikListItem[data-level=C1]{border-left-color:#d35446}.grammatikListItem[data-level=C2]{border-left-color:#a02c20}.grammatikListItemLeft{flex:1 1;min-width:0}.grammatikListItemTitle{font-size:15px;font-weight:800;margin:0 0 2px;line-height:1.3}.grammatikListItemDesc{font-size:13px;color:var(--muted);margin:0;line-height:1.45}.grammatikListItemRight{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}.grammatikBreadcrumb{max-width:720px;margin:32px auto 0;padding-top:16px;border-top:2px solid var(--border-subtle)}.grammatikBreadcrumb a{font-size:14px;font-weight:700;color:var(--accent-strong)}.grammatikBreadcrumb a:hover{text-decoration:underline}.grammatikBreadcrumbTop{margin:0 auto 16px;padding-top:0;border-top:none}.grammatikArticle{max-width:720px;margin:0 auto;line-height:1.7;font-size:16px}.grammatikArticle header{margin-bottom:24px}.grammatikArticle .article-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.grammatikArticle .badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border:2px solid var(--border);background:var(--surface-elevated);text-transform:uppercase;letter-spacing:.03em}.grammatikArticle .badge.level{background:var(--accent);color:#111;border-color:var(--accent-strong)}.grammatikListItemRight .badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border:2px solid var(--border);background:var(--surface-elevated);text-transform:uppercase;letter-spacing:.03em}.grammatikListItemRight .badge.level{color:#111}[data-level=A1]>.grammatikListItemRight .badge.level{background:rgba(56,142,60,.1);color:#388e3c;border-color:#388e3c}[data-level=A2]>.grammatikListItemRight .badge.level{background:rgba(37,100,39,.08);color:#256427;border-color:#256427}[data-level=B1]>.grammatikListItemRight .badge.level{background:rgba(210,150,20,.1);color:#d29614;border-color:#d29614}[data-level=B2]>.grammatikListItemRight .badge.level{background:rgba(160,106,8,.1);color:#a06a08;border-color:#a06a08}[data-level=C1]>.grammatikListItemRight .badge.level{background:rgba(211,84,70,.1);color:#d35446;border-color:#d35446}[data-level=C2]>.grammatikListItemRight .badge.level{background:rgba(160,44,32,.1);color:#a02c20;border-color:#a02c20}.grammatikArticle h1{font-size:28px;font-weight:900;line-height:1.2;letter-spacing:-.02em;margin:0 0 8px}.grammatikArticle .subtitle{font-size:16px;color:var(--muted);margin:0;line-height:1.5}.grammatikArticle .toc-title{font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px}.grammatikArticle nav ol{margin:0 0 28px;padding-left:20px}.grammatikArticle nav ol li{font-size:14px;margin-bottom:4px}.grammatikArticle nav ol li a{color:var(--accent-strong);font-weight:600}.grammatikArticle nav ol li a:hover{text-decoration:underline}.grammatikArticle h2{font-size:22px;font-weight:800;margin:36px 0 12px;padding-bottom:4px;border-bottom:3px solid var(--accent)}.grammatikArticle[data-level=A1] h2{border-bottom-color:#388e3c}.grammatikArticle[data-level=A2] h2{border-bottom-color:#256427}.grammatikArticle[data-level=B1] h2{border-bottom-color:#d29614}.grammatikArticle[data-level=B2] h2{border-bottom-color:#a06a08}.grammatikArticle[data-level=C1] h2{border-bottom-color:#d35446}.grammatikArticle[data-level=C2] h2{border-bottom-color:#a02c20}.grammatikArticle[data-level=A1] .example{border-left-color:#388e3c}.grammatikArticle[data-level=A2] .example{border-left-color:#256427}.grammatikArticle[data-level=B1] .example{border-left-color:#d29614}.grammatikArticle[data-level=B2] .example{border-left-color:#a06a08}.grammatikArticle[data-level=C1] .example{border-left-color:#d35446}.grammatikArticle[data-level=C2] .example{border-left-color:#a02c20}.grammatikArticle[data-level=A1] .badge.level{background:rgba(56,142,60,.1);color:#388e3c;border-color:#388e3c}.grammatikArticle[data-level=A2] .badge.level{background:rgba(37,100,39,.1);color:#256427;border-color:#256427}.grammatikArticle[data-level=B1] .badge.level{background:rgba(210,150,20,.1);color:#d29614;border-color:#d29614}.grammatikArticle[data-level=B2] .badge.level{background:rgba(160,106,8,.1);color:#a06a08;border-color:#a06a08}.grammatikArticle[data-level=C1] .badge.level{background:rgba(211,84,70,.1);color:#d35446;border-color:#d35446}.grammatikArticle[data-level=C2] .badge.level{background:rgba(160,44,32,.1);color:#a02c20;border-color:#a02c20}.grammatikArticle h3{font-size:18px;font-weight:700;margin:24px 0 8px}.grammatikArticle .example{background:var(--surface-elevated);border-left:4px solid var(--accent);padding:10px 16px;margin:12px 0}.grammatikArticle .example .de{font-weight:700;margin:0;font-style:italic}.grammatikArticle .example .en{color:var(--muted);font-size:14px;margin:2px 0 0}.grammatikArticle .callout{background:var(--surface);border:2px solid var(--border);padding:14px 16px;margin:16px 0;box-shadow:var(--shadow-sm)}.grammatikArticle .callout-label{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-strong);margin:0 0 4px}.grammatikArticle table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}.grammatikArticle td,.grammatikArticle th{border:2px solid var(--border);padding:8px 12px;text-align:left}.grammatikArticle thead th{background:var(--surface-elevated);font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.04em}.grammatikArticle tbody td{background:var(--surface)}.grammatikArticle section#recap{background:var(--surface-elevated);border:2px solid var(--border);padding:16px 20px;margin:32px 0 16px;box-shadow:var(--shadow)}.grammatikArticle section#recap h2{margin-top:0;border-bottom-color:var(--border)}.grammatikArticle section#recap ul{padding-left:18px}.grammatikArticle section#recap li{margin-bottom:6px;font-size:15px}.grammatikArticle em{color:var(--accent-strong);font-style:italic}[data-theme=dark] .grammatikArticle .badge{border-color:var(--border)}[data-theme=dark] .grammatikArticle[data-level=A1] .badge.level,[data-theme=dark] [data-level=A1]>.grammatikListItemRight .badge.level{background:rgba(110,200,114,.15);color:#6ec872;border-color:#45a049}[data-theme=dark] .grammatikArticle[data-level=A2] .badge.level,[data-theme=dark] [data-level=A2]>.grammatikListItemRight .badge.level{background:rgba(78,170,82,.15);color:#4eaa52;border-color:#357a38}[data-theme=dark] .grammatikArticle[data-level=B1] .badge.level,[data-theme=dark] [data-level=B1]>.grammatikListItemRight .badge.level{background:rgba(224,187,56,.15);color:#e0bb38;border-color:#c09a20}[data-theme=dark] .grammatikArticle[data-level=B2] .badge.level,[data-theme=dark] [data-level=B2]>.grammatikListItemRight .badge.level{background:rgba(200,156,40,.15);color:#c89c28;border-color:#a07a18}[data-theme=dark] .grammatikArticle[data-level=C1] .badge.level,[data-theme=dark] [data-level=C1]>.grammatikListItemRight .badge.level{background:hsla(8,80%,71%,.15);color:#f08878;border-color:#d05848}[data-theme=dark] .grammatikArticle[data-level=C2] .badge.level,[data-theme=dark] [data-level=C2]>.grammatikListItemRight .badge.level{background:hsla(8,62%,60%,.15);color:#d86858;border-color:#b04030}[data-theme=dark] .grammatikListItem[data-level=A1]{border-left-color:#45a049}[data-theme=dark] .grammatikListItem[data-level=A2]{border-left-color:#357a38}[data-theme=dark] .grammatikListItem[data-level=B1]{border-left-color:#c09a20}[data-theme=dark] .grammatikListItem[data-level=B2]{border-left-color:#a07a18}[data-theme=dark] .grammatikListItem[data-level=C1]{border-left-color:#d05848}[data-theme=dark] .grammatikListItem[data-level=C2]{border-left-color:#b04030}[data-theme=dark] .grammatikArticle[data-level=A1] h2{border-bottom-color:#45a049}[data-theme=dark] .grammatikArticle[data-level=A2] h2{border-bottom-color:#357a38}[data-theme=dark] .grammatikArticle[data-level=B1] h2{border-bottom-color:#c09a20}[data-theme=dark] .grammatikArticle[data-level=B2] h2{border-bottom-color:#a07a18}[data-theme=dark] .grammatikArticle[data-level=C1] h2{border-bottom-color:#d05848}[data-theme=dark] .grammatikArticle[data-level=C2] h2{border-bottom-color:#b04030}[data-theme=dark] .grammatikArticle[data-level=A1] .example{border-left-color:#45a049}[data-theme=dark] .grammatikArticle[data-level=A2] .example{border-left-color:#357a38}[data-theme=dark] .grammatikArticle[data-level=B1] .example{border-left-color:#c09a20}[data-theme=dark] .grammatikArticle[data-level=B2] .example{border-left-color:#a07a18}[data-theme=dark] .grammatikArticle[data-level=C1] .example{border-left-color:#d05848}[data-theme=dark] .grammatikArticle[data-level=C2] .example{border-left-color:#b04030}@media (max-width:600px){.grammatikArticle h1{font-size:22px}.grammatikArticle h2{font-size:19px}.grammatikListItem{flex-direction:column;align-items:flex-start}}.blogIndex{max-width:860px;margin:0 auto;padding:0 16px}.blogHero{text-align:center;padding:48px 0 40px;margin-bottom:32px;border-bottom:3px solid var(--border)}.blogHero h1{font-family:Bebas Neue,sans-serif;font-size:48px;font-weight:400;letter-spacing:.04em;margin:0 0 12px;text-transform:uppercase}.blogHeroSub{color:var(--muted);font-size:16px;line-height:1.5;max-width:480px;margin:0 auto}.blogGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:20px;gap:20px;margin-bottom:40px}.blogCard{display:flex;flex-direction:column;padding:24px;border:2px solid var(--border);background:var(--surface-elevated);box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:transform .1s,box-shadow .1s}.blogCard:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow)}.blogCardMeta{display:flex;gap:10px;align-items:center;margin-bottom:12px}.blogCardDate{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.blogCardReadTime{font-size:11px;font-weight:700;padding:2px 8px;border:2px solid var(--border);background:var(--surface)}.blogCardTitle{font-size:20px;font-weight:900;letter-spacing:-.02em;margin:0 0 8px;line-height:1.25}.blogCardDesc{font-size:14px;color:var(--muted);margin:0 0 16px;line-height:1.5;flex:1 1}.blogCardLink{font-size:13px;font-weight:800;color:var(--accent-strong);text-transform:uppercase;letter-spacing:.5px}.blogBreadcrumb{max-width:720px;margin:0 auto;padding:16px 16px 8px}.blogBreadcrumb a{font-size:13px;font-weight:800;color:var(--muted);text-decoration:none;text-transform:uppercase;letter-spacing:.5px}.blogBreadcrumb a:hover{color:var(--text)}.blogBreadcrumbTop{padding-top:20px}.blogArticle{max-width:720px;margin:0 auto;padding:0 16px 40px;line-height:1.75;font-size:16px;color:var(--text)}.blogArticle h1{font-size:32px;font-weight:900;letter-spacing:-.02em;margin:0 0 32px;padding-bottom:20px;border-bottom:3px solid var(--border);line-height:1.2}.blogArticle h2{font-size:22px;font-weight:900;margin:40px 0 16px;padding:8px 0 8px 16px;border-left:4px solid var(--accent);background:var(--surface-elevated)}.blogArticle h3{font-size:17px;font-weight:800;margin:28px 0 10px}.blogArticle p{margin:0 0 20px}.blogArticle strong{font-weight:800}.blogArticle a{color:var(--accent-strong);font-weight:700;text-decoration:none;border-bottom:2px solid var(--accent);transition:background .1s}.blogArticle a:hover{background:var(--accent);color:#111}.blogArticle ol,.blogArticle ul{margin:0 0 20px;padding-left:24px}.blogArticle li{margin-bottom:8px;line-height:1.6}.blogArticle li::marker{color:var(--accent);font-weight:800}.blogArticle blockquote{margin:24px 0;padding:16px 20px;background:var(--surface-elevated);border:2px solid var(--border);border-left:4px solid var(--accent);box-shadow:var(--shadow-sm);font-style:italic}.blogArticle table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px;border:2px solid var(--border);box-shadow:var(--shadow-sm)}.blogArticle td,.blogArticle th{padding:10px 14px;border:2px solid var(--border);text-align:left}.blogArticle thead th{font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.blogArticle code,.blogArticle tbody tr:hover,.blogArticle thead th{background:var(--surface-elevated)}.blogArticle code{font-size:14px;padding:2px 8px;border:2px solid var(--border);font-weight:700}.blogArticle hr{border:none;border-top:2px dashed var(--border-subtle);margin:32px 0}.blogPostCta{max-width:720px;margin:0 auto 32px;padding:28px 24px;text-align:center;border:3px solid var(--border);background:var(--surface-elevated);box-shadow:var(--shadow)}.blogPostCta p{margin:0 0 16px;font-weight:800;font-size:17px}.blogCta{text-align:center;padding:40px 0;margin-top:16px;border-top:3px solid var(--border)}.blogCta p{margin:0 0 16px;font-size:16px;color:var(--muted)}.blogCtaBtn{display:inline-block;font-size:.9rem;font-weight:800;padding:12px 28px;border:2px solid var(--border);background:var(--accent);color:#111;text-transform:uppercase;letter-spacing:.6px;box-shadow:var(--shadow);transition:transform .08s,box-shadow .08s;text-decoration:none}.blogCtaBtn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--border)}@media (max-width:600px){.blogHero h1{font-size:36px}.blogGrid{grid-template-columns:1fr}.blogArticle h1{font-size:24px}.blogArticle h2{font-size:19px}.blogArticle{font-size:15px}}@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,700;1,9..40,400&display=swap");.nb-scroll-hint{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);color:var(--muted);opacity:.5;background:none;border:none;cursor:pointer;padding:.5rem;z-index:20;transition:opacity .3s ease}.nb-scroll-hint-hidden{opacity:0;pointer-events:none}.nb-snap-section{scroll-snap-align:start;min-height:100vh;min-height:100dvh}.nb-landing{--nb-cream:var(--bg);--nb-pink:var(--accent);--nb-black:var(--text);--nb-white:var(--surface);--nb-muted:var(--muted);--nb-shadow:var(--shadow);--nb-shadow-lg:6px 6px 0 var(--nb-black);--nb-border:3px solid var(--border);font-family:DM Sans,Inter,system-ui,sans-serif;position:fixed;inset:0;overflow-y:auto;scroll-snap-type:y mandatory;z-index:10;background:var(--bg)}.nb-pink{color:var(--nb-pink)}.nb-signin-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.nb-signin-buttons .appleSignInButton,.nb-signin-buttons .googleSignInButton{font-family:DM Sans,sans-serif;font-size:1rem;font-weight:700;padding:.85rem 1.5rem;min-width:220px;border:2px solid var(--border);box-shadow:var(--shadow);transition:transform .1s,box-shadow .1s;justify-content:center}.nb-signin-buttons .googleSignInButton{background:var(--surface);color:var(--text)}.nb-signin-buttons .appleSignInButton{background:var(--text);color:var(--bg)}.nb-signin-buttons .appleSignInButton:hover,.nb-signin-buttons .googleSignInButton:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--border)}.nb-signin-buttons .appleSignInButton:active,.nb-signin-buttons .googleSignInButton:active{transform:translate(2px,2px);box-shadow:none}.nb-hero-content .nb-signin-buttons .appleSignInButton,.nb-hero-content .nb-signin-buttons .googleSignInButton{font-size:1.1rem;padding:1rem 2rem}.nb-closing-section .nb-signin-buttons,.nb-how-cta .nb-signin-buttons{justify-content:center}.nb-closing-section .nb-signin-buttons .appleSignInButton,.nb-how-section .nb-signin-buttons .appleSignInButton{background:var(--bg);color:var(--text)}.nb-closing-section .nb-signin-buttons .appleSignInButton,.nb-closing-section .nb-signin-buttons .googleSignInButton,.nb-how-section .nb-signin-buttons .appleSignInButton,.nb-how-section .nb-signin-buttons .googleSignInButton{border-color:var(--bg);box-shadow:4px 4px 0 hsla(0,0%,100%,.2)}.nb-container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.nb-full-bleed{width:100%}.nb-btn{display:inline-block;font-family:DM Sans,sans-serif;font-weight:700;font-size:1rem;padding:.75rem 1.75rem;background:var(--nb-pink);color:var(--nb-white);border:var(--nb-border);box-shadow:var(--nb-shadow);cursor:pointer;transition:transform .1s,box-shadow .1s;text-align:center}.nb-btn:hover{transform:translate(-2px,-2px);box-shadow:var(--nb-shadow-lg)}.nb-btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--nb-black)}.nb-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.nb-btn-hero{font-size:1.2rem;padding:1rem 2.5rem}.nb-btn-closing{background:var(--nb-black);color:var(--nb-cream);box-shadow:4px 4px 0 var(--nb-white)}[data-theme=dark] .nb-btn-closing{background:var(--nb-pink);color:var(--nb-white);box-shadow:4px 4px 0 hsla(0,0%,100%,.15)}.nb-btn-closing:hover{box-shadow:6px 6px 0 var(--nb-white)}.nb-btn-closing:active{box-shadow:2px 2px 0 var(--nb-white)}.nb-divider{border:none;height:3px;background:var(--nb-black);margin:0}.nb-hero{display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;position:relative}.nb-hero-content{max-width:900px;width:100%;animation:nb-hero-enter 1s cubic-bezier(.16,1,.3,1) both}.nb-hero-logo{height:60px;width:auto;margin-bottom:24px;display:block}@keyframes nb-hero-enter{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.nb-kicker{font-family:DM Sans,sans-serif;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.15em;color:var(--nb-white);background:var(--nb-black);display:inline-block;padding:.35rem .85rem;margin-bottom:1rem}[data-theme=dark] .nb-kicker{background:var(--nb-pink)}.nb-hero-title{font-family:Bebas Neue,sans-serif;font-size:clamp(2.75rem,6vw,4.5rem);line-height:1.1;letter-spacing:.02em;margin:0 0 1.25rem;color:var(--nb-black)}.nb-hero-sub{font-size:clamp(1.1rem,2.5vw,1.35rem);max-width:560px;margin:0 0 2rem;color:var(--nb-black);line-height:1.7}.nb-hero-cta-text{font-size:.9rem;font-weight:600;color:var(--muted);margin:0 0 .75rem}.nb-value-section{padding:3rem 1.5rem;display:flex;flex-direction:column;justify-content:center}.nb-value-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem;align-items:center}.nb-reverse .nb-value-text{order:2}.nb-reverse .nb-value-visual{order:1}.nb-value-heading{font-family:Bebas Neue,sans-serif;font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:.02em}.nb-value-heading,.nb-value-text p{margin:0 0 1rem;color:var(--nb-black)}.nb-value-text p{font-size:1.1rem;line-height:1.75}.nb-powered{font-size:.9rem!important;font-weight:700;color:var(--nb-pink)!important}.nb-video{width:100%;border:var(--nb-border);box-shadow:var(--nb-shadow-lg);display:block}.nb-how-section{padding:3rem 0;background:var(--nb-black);color:var(--nb-white);border-top:var(--nb-border);border-bottom:var(--nb-border);display:flex;flex-direction:column;justify-content:center}[data-theme=dark] .nb-how-section{background:#0a0a0a}.nb-how-title{font-family:Bebas Neue,sans-serif;font-size:clamp(2.25rem,5vw,3.5rem);text-align:center;margin:0 0 3.5rem;color:var(--nb-white);letter-spacing:.02em}[data-theme=dark] .nb-how-title{color:#e8e8e8}.nb-steps-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem}.nb-step-card{background:var(--nb-white);color:var(--nb-black);border:3px solid #111;box-shadow:6px 6px 0 hsla(0,0%,100%,.15);padding:2rem}[data-theme=dark] .nb-step-card{background:#242424;color:#e8e8e8;border-color:#e8e8e8}.nb-step-num{font-size:4.5rem;color:var(--nb-pink);line-height:1;margin-bottom:.75rem}.nb-step-card h3,.nb-step-num{font-family:Bebas Neue,sans-serif}.nb-step-card h3{font-size:1.5rem;line-height:1.1;letter-spacing:.02em;margin:0 0 .75rem}.nb-step-card p{font-size:.95rem;line-height:1.65;margin:0}.nb-how-cta{text-align:center;margin-top:3.5rem}.nb-how-cta .nb-btn{background:var(--nb-pink);color:var(--nb-white)}.nb-extras-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1.5rem;gap:1.5rem;margin-top:2.5rem}.nb-extra-card{background:var(--nb-white);border:2px solid var(--border);box-shadow:var(--shadow-sm);padding:1.75rem;text-decoration:none;color:inherit;transition:box-shadow .15s}.nb-extra-card:hover{box-shadow:var(--shadow)}.nb-extra-icon{font-size:1.75rem;display:block;margin-bottom:.75rem}.nb-extra-card h3{font-family:Bebas Neue,sans-serif;font-size:1.25rem;margin:0 0 .5rem;letter-spacing:.02em}.nb-extra-card p{font-size:.9rem;line-height:1.55;margin:0;color:var(--muted)}.nb-extras-cta{text-align:center;margin-top:2.5rem}.nb-extras-cta p{font-size:1.05rem;line-height:1.6;margin:0 0 1rem;color:var(--muted)}.nb-extras-cta .nb-btn{text-decoration:none}.nb-closing-section{padding:3rem 0;background:var(--nb-pink);border-top:var(--nb-border);border-bottom:var(--nb-border);display:flex;flex-direction:column;justify-content:center}.nb-closing-logo{display:block;height:2.5rem;width:auto;margin:0 auto 1.75rem;opacity:.35}.nb-closing-logo,[data-theme=dark] .nb-closing-logo{filter:brightness(0)}.nb-closing-title{font-family:Bebas Neue,sans-serif;font-size:clamp(2.25rem,5vw,3.5rem);color:var(--nb-black);max-width:640px;margin:0 auto 1.25rem;letter-spacing:.02em;line-height:1.1}[data-theme=dark] .nb-closing-title{color:#111}.nb-closing-sub{font-size:1.15rem;max-width:520px;margin:0 auto 2rem;color:var(--nb-black);line-height:1.7}[data-theme=dark] .nb-closing-sub{color:#111}@media (max-width:768px){.nb-landing{scroll-snap-type:y proximity}.nb-snap-section{min-height:auto;padding-top:2rem;padding-bottom:2rem}.nb-hero{min-height:100vh;min-height:100dvh;padding:2rem 1rem}.nb-value-grid{grid-template-columns:1fr;gap:1.5rem}.nb-video{max-height:50vh;object-fit:contain;box-shadow:none}.nb-reverse .nb-value-text{order:1}.nb-reverse .nb-value-visual{order:2}.nb-steps-grid{grid-template-columns:1fr}.nb-extras-grid{grid-template-columns:1fr 1fr}.nb-closing-section,.nb-how-section,.nb-value-section{padding:3rem 1rem}}@media (max-width:480px){.nb-container{padding:0 1rem}.nb-btn-hero{width:100%;font-size:1.1rem}.nb-signin-buttons{flex-direction:column;width:100%}.nb-signin-buttons .appleSignInButton,.nb-signin-buttons .googleSignInButton{width:100%;min-width:0}.nb-step-card{padding:1.5rem}}.tutorialOverlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px;animation:tutorialFadeIn .2s ease-out}@keyframes tutorialFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tutorialSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tutorialPopup{position:relative;max-width:400px;width:100%;padding:32px 28px 24px;background:var(--surface);border:3px solid var(--border);box-shadow:6px 6px 0 var(--border);text-align:center;animation:tutorialSlideUp .3s ease-out}.tutorialClose{position:absolute;top:8px;right:12px;background:none;border:none;font-size:1.6rem;font-weight:900;color:var(--text);cursor:pointer;line-height:1;padding:4px;transition:transform .1s}.tutorialClose:hover{transform:scale(1.2)}.tutorialIcon{font-size:2.4rem;margin-bottom:8px}.tutorialTitle{font-size:1.5rem;font-weight:900;color:var(--text);margin:0 0 8px;text-transform:uppercase;letter-spacing:-.02em}.tutorialBody{font-size:.95rem;color:var(--muted);line-height:1.5;margin:0 0 20px}.tutorialCta{display:block;width:100%;padding:14px 20px;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--accent);border:2px solid var(--border);box-shadow:var(--shadow);cursor:pointer;transition:transform .08s,box-shadow .08s;margin-bottom:12px}.tutorialCta:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--border)}.tutorialCta:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--accent-strong)}.tutorialSkip{display:block;width:100%;padding:8px;font-size:.85rem;font-weight:600;color:var(--muted);background:none;border:none;cursor:pointer;opacity:.7;transition:opacity .15s}.tutorialSkip:hover{opacity:1}[data-theme=dark] .tutorialPopup{background:var(--surface);border-color:var(--border);box-shadow:6px 6px 0 var(--border)}[data-theme=dark] .tutorialClose,[data-theme=dark] .tutorialTitle{color:var(--text)}[data-theme=dark] .tutorialBody{color:var(--muted)}[data-theme=dark] .tutorialCta{background:var(--accent);border-color:var(--accent);color:#111;box-shadow:4px 4px 0 var(--border)}[data-theme=dark] .tutorialCta:hover{box-shadow:6px 6px 0 var(--border)}[data-theme=dark] .tutorialSkip{color:var(--muted)}.statsPage{max-width:720px;margin:0 auto}.statsError,.statsLoading{text-align:center;font-size:1rem;color:var(--muted);padding:3rem 0}.statsError{color:var(--danger-border)}.statsHeader{margin-bottom:24px}.statsTitle{font-size:2rem;font-weight:900;margin:0 0 4px;text-transform:uppercase;letter-spacing:-.02em}.statsSubtitle{margin:0;font-size:1rem;color:var(--muted)}.statsStreakCard{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow);padding:20px 24px;margin-bottom:24px}.statsStreakIcon{font-size:2.2rem;line-height:1}.statsStreakNumber{font-size:2.8rem;font-weight:900;line-height:1;color:var(--accent)}.statsStreakLabel{font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.statsGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:32px}.statsCard{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px 12px;background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow);text-align:center}.statsCardIcon{font-size:1.6rem;line-height:1}.statsCardNumber{font-size:2rem;font-weight:900;line-height:1.1}.statsCardLabel{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.statsSection{margin-bottom:32px}.statsSectionTitle{font-size:1.2rem;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;margin:0 0 12px}.statsHeatmapWrapper{background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow);padding:20px;overflow:visible;position:relative}.heatmapContainer{position:relative;width:100%}.heatmapMonths{display:grid;grid-template-columns:repeat(53,1fr);grid-gap:0;gap:0;margin-bottom:6px;padding-left:0}.heatmapMonthLabel{font-size:.6rem;font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;letter-spacing:.02em}.heatmapBody{display:flex;gap:3px}.heatmapDayLabels{display:grid;grid-template-rows:repeat(7,1fr);grid-gap:3px;gap:3px;align-items:center;width:20px;flex-shrink:0}.heatmapDayLabel{font-size:.5rem;font-weight:700;color:var(--muted);line-height:1;text-align:right;padding-right:4px}.heatmapGrid{display:grid;grid-template-columns:repeat(53,1fr);grid-gap:3px;gap:3px;flex:1 1;min-width:0}.heatmapWeek{display:grid;grid-template-rows:repeat(7,1fr);grid-gap:3px;gap:3px}.heatmapCell{aspect-ratio:1;width:100%;border-radius:3px;border:none;outline:none;transition:transform .1s ease,opacity .1s ease}.heatmapCell:hover{transform:scale(1.4);z-index:2;position:relative}.heatmapIntensity0{background:color-mix(in srgb,var(--accent) 6%,var(--bg) 94%)}.heatmapIntensity1{background:color-mix(in srgb,var(--accent) 25%,var(--bg) 75%)}.heatmapIntensity2{background:color-mix(in srgb,var(--accent) 50%,var(--bg) 50%)}.heatmapIntensity3{background:color-mix(in srgb,var(--accent) 75%,var(--bg) 25%)}.heatmapIntensity4{background:var(--accent)}[data-theme=dark] .heatmapIntensity0{background:#332f2e}[data-theme=dark] .heatmapIntensity1{background:#5e2850}[data-theme=dark] .heatmapIntensity2{background:#993574}[data-theme=dark] .heatmapIntensity3{background:#d44fa2}[data-theme=dark] .heatmapIntensity4{background:#ff7bcc}.heatmapTooltip{position:fixed;z-index:9999;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;background:var(--border);color:var(--bg);font-size:.75rem;line-height:1.4;white-space:nowrap;pointer-events:none;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateX(-50%)}[data-theme=dark] .heatmapTooltip{background:#e8e0d0;color:#111}.heatmapTooltip strong{font-weight:800}.statsShareButton{display:block;width:100%;padding:16px 24px;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--accent);border:2px solid var(--border);box-shadow:var(--shadow);cursor:pointer;transition:transform .08s,box-shadow .08s;margin-bottom:24px}.statsShareButton:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--border)}.statsShareButton:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--border)}.statsShareButton:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:var(--shadow)}.statsShareCardOuter{position:absolute;left:-9999px;top:0;width:620px;overflow:visible}.statsShareCard{width:620px;padding:36px 32px;background:#fdf5c8;color:#111;font-family:Inter,system-ui,sans-serif;border:3px solid #111}.statsShareHeader{text-align:center;margin-bottom:24px}.statsShareLogo{font-size:2.2rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.statsShareName{font-size:1.2rem;font-weight:800;color:#111;margin-top:4px}.statsShareTagline{font-size:.85rem;font-weight:600;color:#6b6560;text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.statsShareStreak{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:24px;padding:16px;background:#fdf8df;border:2px solid #111}.statsShareStreakIcon{font-size:1.8rem;line-height:1}.statsShareStreakNum{font-size:2.4rem;font-weight:900;line-height:1;color:#ff6ec7}.statsShareStreakText{font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6b6560}.statsShareGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:24px}.statsShareStat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;border:2px solid #111;background:#fdf8df}.statsShareStat strong{font-size:1.8rem;font-weight:900;color:#111}.statsShareStat span{font-size:.7rem;text-transform:uppercase;font-weight:700;letter-spacing:.04em;color:#6b6560}.statsShareSectionLabel{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#6b6560;margin-bottom:8px}.statsShareHeatmap{margin-bottom:24px;overflow:visible;padding:12px;background:#fdf8df;border:2px solid #111}.statsShareHeatmap .heatmapContainer{width:100%}.statsShareHeatmap .heatmapGrid,.statsShareHeatmap .heatmapMonths{grid-template-columns:repeat(53,1fr)}.statsShareHeatmap .heatmapGrid{display:grid;grid-gap:2px;gap:2px}.statsShareHeatmap .heatmapBody{gap:2px}.statsShareHeatmap .heatmapDayLabels{display:none}.statsShareHeatmap .heatmapWeek{gap:2px}.statsShareHeatmap .heatmapCell{width:auto;height:auto;aspect-ratio:1;border-radius:2px}.statsShareHeatmap .heatmapCell:hover{transform:none}.statsShareHeatmap .heatmapIntensity0{background:#ece5c0}.statsShareHeatmap .heatmapIntensity1{background:#f5a0cc}.statsShareHeatmap .heatmapIntensity2{background:#f06aaa}.statsShareHeatmap .heatmapIntensity3{background:#e83d90}.statsShareHeatmap .heatmapIntensity4{background:#d4187a}.statsShareHeatmap .heatmapMonthLabel{font-size:.5rem;font-weight:700}.statsShareWords{margin-bottom:20px}.statsShareWordsTitle{font-size:.85rem;font-weight:800;text-transform:uppercase;margin-bottom:8px}.statsShareWordsList{display:flex;flex-wrap:wrap;gap:6px}.statsShareWordChip{padding:4px 10px;font-size:.78rem;font-weight:700;background:#f9edae;border:1.5px solid #111}.statsShareCta{text-align:center;font-size:.8rem;font-weight:800;color:#fff;background:#ff6ec7;padding:12px;border:2px solid #111;text-transform:uppercase;letter-spacing:.06em}[data-theme=dark] .statsStreakNumber{color:var(--accent)}[data-theme=dark] .statsShareButton{color:#111}@media (max-width:600px){.statsPage{padding:0 4px}.statsHeader{margin-bottom:16px}.statsTitle{font-size:1.4rem}.statsSubtitle{font-size:.85rem}.statsStreakCard{justify-content:center;padding:14px 16px;gap:10px}.statsStreakIcon{font-size:1.6rem}.statsStreakNumber{font-size:2rem}.statsStreakLabel{font-size:.9rem}.statsGrid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px}.statsCard{padding:14px 8px;gap:2px}.statsCardIcon{font-size:1.2rem}.statsCardNumber{font-size:1.4rem}.statsCardLabel{font-size:.65rem}.statsSection{margin-bottom:20px}.statsSectionTitle{font-size:1rem;margin-bottom:8px}.statsHeatmapWrapper{padding:12px 10px}.heatmapDayLabels{display:none}.heatmapBody,.heatmapGrid,.heatmapWeek{gap:2px}.heatmapMonths{margin-bottom:4px}.heatmapMonthLabel{font-size:.5rem}.statsShareButton{padding:14px 16px;font-size:.9rem}}.legalPage{max-width:720px;margin:0 auto;padding:3rem 1rem 5rem;line-height:1.7}.legalPage h1{font-size:2rem;font-weight:900;margin-bottom:.25rem}.legalUpdated{color:var(--muted);font-size:.85rem;margin-bottom:2.5rem}.legalPage h2{font-size:1.15rem;font-weight:800;margin:2rem 0 .5rem}.legalPage p,.legalPage ul{margin:.5rem 0}.legalPage ul{padding-left:1.5rem}.legalPage li{margin:.3rem 0}.legalPage a{color:var(--accent);text-decoration:underline}