:root{color-scheme:dark;--bg:#050505;--fg:#f3f1eb;--muted:#898884;--line:#292927;--soft:#161615;--max:1180px}
html[data-theme="light"]{color-scheme:light;--bg:#f2f0e9;--fg:#11110f;--muted:#77756f;--line:#d0cec5;--soft:#e7e4db}
*{box-sizing:border-box}html{background:var(--bg);scroll-snap-type:y mandatory}body{margin:0;min-height:100vh;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}
button,input,select{font:inherit;color:inherit}button{border:0;padding:0;background:none;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:1px dotted var(--fg);outline-offset:5px}
.site-head{width:min(calc(100% - 64px),var(--max));height:100px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line)}
.brand{justify-self:start;font:italic 700 28px/1 Georgia,serif;letter-spacing:-.06em}.brand span{color:var(--muted)}nav{display:flex;gap:30px}nav button,.head-actions button{font-size:11px;text-transform:uppercase;letter-spacing:.12em}nav button>span{display:inline-block;margin-right:6px;font:17px/0 Georgia,serif;vertical-align:-1px}nav sup{color:var(--muted);margin-left:2px}.head-actions{justify-self:end;display:flex;gap:22px}.head-actions button{font-size:16px}
main{width:min(calc(100% - 64px),var(--max));margin:auto}.view{display:none}.view.active{display:block}.hero{min-height:calc(100svh - 100px);padding-top:clamp(80px,14vh,150px);max-width:940px;scroll-snap-align:start;scroll-snap-stop:always}.eyebrow,.section-label{margin:0;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.17em}.languages{display:flex;align-items:center;gap:12px;margin:30px 0 20px}.languages select{width:auto;border:0;appearance:none;background:transparent;font-size:12px;font-weight:bold;text-transform:uppercase;letter-spacing:.11em}.languages button{width:24px;color:var(--muted)}
.input-line{position:relative;border-bottom:1px solid var(--fg)}#searchInput{width:100%;height:clamp(84px,11vw,138px);padding:0 145px 8px 0;border:0;outline:0;background:transparent;color:var(--fg);font:italic 400 clamp(54px,10vw,124px)/.9 Georgia,serif;letter-spacing:-.065em}#searchInput::placeholder{color:var(--line)}#searchInput::-webkit-search-cancel-button{display:none}#clearButton{position:absolute;right:82px;top:45%;translate:0 -50%;display:none;font-size:25px;font-weight:200}#clearButton.visible{display:block}#submitSearch{position:absolute;right:0;top:50%;translate:0 -50%;display:none;font-size:9px;text-transform:uppercase;letter-spacing:.13em}#submitSearch.visible{display:block}#searchState{position:absolute;bottom:-1px;left:0;height:1px;background:var(--fg)}#searchState.loading{animation:load 1s ease-in-out infinite}@keyframes load{0%{width:0;left:0}50%{width:50%;left:25%}100%{width:0;left:100%}}
.suggestions,.word-links{display:flex;gap:20px;flex-wrap:wrap}.suggestions{min-height:40px;padding-top:13px}.suggestion,.word-links button{color:var(--muted);font-size:12px}.suggestion:first-child,.suggestion.active{color:var(--fg)}.suggestion.active{text-decoration:underline;text-underline-offset:4px}.suggestion:hover,.word-links button:hover{color:var(--fg)}.search-hint{margin:28px 0 0;color:var(--muted);font-size:11px}.search-hint kbd{border-bottom:1px solid var(--muted);font:inherit}
.result{min-height:100svh;padding:42px 0 70px;scroll-margin-top:0}.result-meta,.section-title,.collection-tools{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.15em}.translation-row{display:flex;justify-content:space-between;gap:40px;padding:28px 0 50px}.translation-row h1,.collection-view>h1{margin:0;font:italic 400 clamp(68px,12vw,148px)/.82 Georgia,serif;letter-spacing:-.065em;overflow-wrap:anywhere}.phonetic{margin:18px 0 0;color:var(--muted);font:18px Georgia,serif}.word-actions{display:flex;gap:18px;align-items:flex-start;padding-top:12px}.word-actions button{font-size:10px;text-transform:uppercase;letter-spacing:.13em}.word-actions button.active{font-weight:bold}.word-forms{margin:-25px 0 50px;color:var(--muted);font-size:12px}.section-line{display:grid;grid-template-columns:180px 1fr;padding:24px 0;border-top:1px solid var(--line)}
.definition-group{display:grid;grid-template-columns:180px 1fr;padding:35px 0;border-top:1px solid var(--line)}.part-of-speech{margin:0;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.15em}.definition-item{display:grid;grid-template-columns:30px 1fr;padding:0 0 28px}.definition-number{padding-top:3px;color:var(--muted);font-size:10px}.definition-text{margin:0;max-width:680px;font:23px/1.42 Georgia,serif}.example{margin:10px 0 0;color:var(--muted);font:italic 15px/1.5 Georgia,serif}.message{color:var(--muted)}
.recent-block{padding:50px 0 120px;border-top:1px solid var(--line)}.section-title{margin-bottom:20px}.section-title button{color:var(--muted);font-size:9px;text-transform:uppercase}.editorial-list{border-top:1px solid var(--line)}.editorial-item{display:grid;grid-template-columns:42px 1fr 1fr auto;gap:20px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line)}.editorial-item .num{color:var(--muted);font-size:10px}.editorial-item .primary{font:22px Georgia,serif}.editorial-item .secondary{color:var(--muted);font:italic 18px Georgia,serif}.editorial-item .item-actions{display:flex;gap:15px}.editorial-item button{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.empty-state{padding:24px 0;color:var(--muted);font:italic 18px Georgia,serif}
.collection-view{padding:100px 0 140px}.collection-view>h1{margin:35px 0 80px}.collection-tools{padding-bottom:18px}.new-list{display:flex;border-bottom:1px solid var(--fg);margin:-35px 0 70px}.new-list input{flex:1;padding:20px 0;border:0;outline:0;background:transparent;font:italic 26px Georgia,serif}.new-list button{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.list-block{padding:28px 0;border-top:1px solid var(--line)}.list-head{display:flex;justify-content:space-between;margin-bottom:20px}.list-head h2{margin:0;font:italic 30px Georgia,serif}.list-head span{color:var(--muted);font-size:10px}.list-picks{display:flex;gap:10px;flex-wrap:wrap}.list-picks button{padding-bottom:3px;border-bottom:1px solid var(--line);font-size:12px}
.flashcard{max-width:800px;min-height:350px;padding:35px 0;border-top:1px solid var(--fg);border-bottom:1px solid var(--fg);position:relative}.flashcard>p{margin:0;color:var(--muted);font-size:10px;text-transform:uppercase}.flashcard h2{margin:60px 0 100px;font:italic 70px Georgia,serif}.flashcard h3{margin:20px 0;font:italic 46px Georgia,serif}.flashcard #cardDefinition{max-width:560px;font:19px/1.5 Georgia,serif}.flashcard>button{position:absolute;bottom:30px;right:0;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.practice-actions{max-width:800px;display:flex;justify-content:flex-end;gap:25px;padding-top:20px}.practice-actions button{font-size:10px;text-transform:uppercase}.practice-empty{color:var(--muted);font:italic 20px Georgia,serif}
aside{position:fixed;z-index:5;top:0;right:0;width:min(100%,460px);height:100%;padding:35px 42px;background:var(--fg);color:var(--bg);translate:100% 0;transition:translate .35s ease}aside.open{translate:0}.aside-head{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.15em}.aside-head p{margin:0}.aside-head button{font-size:24px}aside h2{margin:80px 0;font:italic 42px/1.05 Georgia,serif}.setting{display:flex;justify-content:space-between;padding:19px 0;border-top:1px solid color-mix(in srgb,var(--bg) 18%,transparent);font-size:12px}.setting input{accent-color:var(--bg)}.aside-note{position:absolute;bottom:30px;max-width:320px;color:color-mix(in srgb,var(--bg) 55%,transparent);font-size:10px;line-height:1.5}#scrim{position:fixed;z-index:4;inset:0;background:#0008}#toast{position:fixed;z-index:8;left:50%;bottom:30px;translate:-50% 20px;padding:10px 15px;background:var(--fg);color:var(--bg);font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;translate:-50% 0}[hidden]{display:none!important}
@media(max-width:700px){.site-head,main{width:calc(100% - 32px)}.site-head{height:75px;grid-template-columns:1fr auto}.site-head nav{position:fixed;z-index:3;bottom:0;left:0;right:0;justify-content:space-around;padding:17px 12px calc(17px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line)}.head-actions{gap:16px}.hero{min-height:calc(100svh - 75px);padding-top:75px}#searchInput{padding-right:112px}#clearButton{right:72px}.search-hint{display:none}.result{padding-top:28px}.translation-row{display:block;padding-bottom:40px}.word-actions{margin-top:25px;flex-wrap:wrap}.section-line,.definition-group{grid-template-columns:1fr;gap:25px}.editorial-item{grid-template-columns:28px 1fr auto}.editorial-item .secondary{grid-column:2}.editorial-item .item-actions{grid-column:3;grid-row:1/3}.collection-view{padding-top:70px}.collection-view>h1{margin-bottom:65px}.flashcard h2{font-size:52px}aside{padding:28px 25px}.recent-block{padding-bottom:100px}}
.result{scroll-snap-align:start;scroll-snap-stop:always}
#submitSearch{align-items:center;gap:5px}#submitSearch.visible{display:flex}#submitSearch>span:first-child{font:18px Georgia,serif}
.suggestions{gap:16px;min-height:48px;align-items:baseline}.suggestion{display:inline-flex;align-items:baseline;gap:0}.suggestion::before,.suggestion.exact::before{content:none}.suggestions-title{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.14em;margin-left:8px}
.word-loader{height:32px;margin-top:18px;overflow:hidden;font:italic 24px Georgia,serif;line-height:32px}.word-loader__track{display:flex;flex-direction:column;animation:replaceWord 600ms cubic-bezier(.76,0,.24,1) infinite}.word-loader__track span{height:32px}@keyframes replaceWord{0%,20%{transform:translateY(0)}40%,60%{transform:translateY(-32px)}80%,100%{transform:translateY(-64px)}}
.result.loading .word-actions{visibility:hidden}
.icon{display:block;width:20px;height:20px}html[data-theme="dark"] .icon{filter:invert(1)}nav button{display:flex;align-items:center;gap:9px;color:var(--muted)}nav button .icon{width:17px;height:17px;opacity:.72}nav button.active,nav button:hover{color:var(--fg)}nav .nav-search{color:var(--fg);font-weight:700}nav .nav-search .icon{width:22px;height:22px;opacity:1}#submitSearch .icon{width:17px;height:17px}
.collection-view{padding:90px 0 140px}.collection-head,.practice-head{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:75px}.collection-head h1,.practice-head h1{margin:0;font:italic 400 clamp(68px,11vw,132px)/.8 Georgia,serif;letter-spacing:-.065em}.new-list{width:min(420px,45%);margin:0}.new-list input{min-width:0;font-size:20px}.new-list button{padding:16px 0 16px 18px}.new-list .icon{width:18px;height:18px}
.list-block{padding:30px 0 34px}.list-head{align-items:flex-start;margin-bottom:32px}.list-head>div{display:flex;align-items:baseline;gap:20px}.list-head h2{font-size:clamp(28px,4vw,46px);letter-spacing:-.035em}.list-head>div:last-child{align-items:center;gap:18px}.learn-list{color:var(--fg);font-size:9px;text-transform:uppercase;letter-spacing:.13em;border-bottom:1px solid var(--fg);padding-bottom:3px}.learn-list:disabled{color:var(--muted);border-color:transparent;cursor:default}.delete-list{color:var(--muted);font-size:18px}.list-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-left:42px}.list-preview button{text-align:left;padding-top:14px;border-top:1px solid var(--line)}.list-preview strong,.list-preview span{display:block}.list-preview strong{font:20px Georgia,serif}.list-preview span{margin-top:5px;color:var(--muted);font:italic 15px Georgia,serif}.list-empty{margin-left:0;color:var(--muted);font:italic 16px Georgia,serif}
.list-add{width:auto;border:0;background:transparent;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.practice-source{display:flex;align-items:center;gap:24px;padding-bottom:6px}.practice-source select{border:0;border-bottom:1px solid var(--line);padding:8px 30px 8px 0;background:transparent;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.practice-source span{color:var(--muted);font-size:10px;letter-spacing:.12em}.swipe-stage{position:relative;width:min(100%,760px);margin:0 auto;perspective:1400px}.flashcard{position:relative;width:100%;max-width:none;height:min(58vh,500px);min-height:410px;padding:0;border:0;cursor:pointer;touch-action:pan-y;user-select:none;transition:transform .22s ease,opacity .22s ease}.flashcard-inner{position:relative;width:100%;height:100%;border:1px solid var(--fg);transform-style:preserve-3d;transition:transform .55s cubic-bezier(.76,0,.24,1)}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;padding:38px 42px;display:flex;flex-direction:column;backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-back{transform:rotateY(180deg)}.card-face>p:first-child{margin:0;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.14em}.flashcard h2,.flashcard h3{margin:auto 0;font:italic 400 clamp(54px,9vw,94px)/.92 Georgia,serif;letter-spacing:-.055em}.flashcard h3{font-size:clamp(48px,8vw,80px)}.flashcard #cardDefinition{max-width:580px;margin:0 0 auto;color:var(--muted);font:17px/1.5 Georgia,serif}.card-audio{position:absolute;right:38px;top:35px;padding:7px}.card-audio .icon{width:19px;height:19px}.flip-hint{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.flip-hint .icon{width:14px;height:14px}.swipe-label{position:absolute;z-index:2;top:50%;translate:0 -50%;opacity:0;color:var(--fg);font-size:9px;text-transform:uppercase;letter-spacing:.15em;transition:opacity .15s}.swipe-known{right:calc(100% + 24px)}.swipe-again{left:calc(100% + 24px)}.show-known .swipe-known,.show-again .swipe-again{opacity:1}.flashcard.exit-left{transform:translateX(-120%) rotate(-8deg)!important;opacity:0}.flashcard.exit-right{transform:translateX(120%) rotate(8deg)!important;opacity:0}.practice-actions{width:min(100%,760px);max-width:none;margin:0 auto;justify-content:space-between;padding-top:22px}.practice-actions button{color:var(--muted);letter-spacing:.12em}.practice-actions button:hover{color:var(--fg)}.practice-empty{text-align:center;padding:100px 0}.practice-head{margin-bottom:55px}
@media(max-width:700px){.site-head nav{display:grid;grid-template-columns:repeat(3,1fr);gap:0;text-align:center;padding-top:13px}.site-head nav button{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:8px}.site-head nav button .icon{margin:0;width:19px;height:19px}.site-head nav .nav-search{translate:0 -7px;font-size:9px}.site-head nav .nav-search .icon{width:29px;height:29px}.collection-view{padding:65px 0 110px}.collection-head,.practice-head{display:block;margin-bottom:46px}.collection-head h1,.practice-head h1{font-size:72px}.new-list{width:100%;margin-top:48px}.new-list input{padding:15px 0;font-size:19px}.list-block{padding:25px 0 30px}.list-head{display:block}.list-head>div{justify-content:space-between}.list-head>div:last-child{margin-top:16px;justify-content:flex-start}.list-head h2{font-size:34px}.list-preview{grid-template-columns:1fr 1fr;margin-left:0;gap:16px}.practice-source{margin-top:38px;justify-content:space-between}.practice-source select{max-width:75%}.swipe-stage{width:100%}.flashcard{height:58vh;min-height:420px}.card-face{padding:28px 25px}.flashcard h2,.flashcard h3{font-size:55px}.flashcard #cardDefinition{font-size:15px}.card-audio{right:20px;top:20px}.swipe-label{display:none}.practice-actions{padding-bottom:25px}}
.site-head{position:sticky;top:0;z-index:4;background:var(--bg)}.result{scroll-margin-top:100px}
nav button{opacity:.38;color:var(--fg);transition:opacity .2s}nav button.active{opacity:1}nav .nav-search{color:var(--fg)}nav .nav-search:not(.active){opacity:.5}
.collection-head.detail-open .new-list{visibility:hidden}.lists{border-top:1px solid var(--line)}.list-row{width:100%;display:grid;grid-template-columns:42px 1fr auto 28px;gap:20px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);text-align:left}.list-row .list-number,.list-row .list-count{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.list-row strong{font:italic 400 clamp(30px,4vw,46px) Georgia,serif;letter-spacing:-.035em}.list-row .list-arrow{font-size:18px;text-align:right;transition:translate .2s}.list-row:hover .list-arrow{translate:5px 0}.list-detail{border-top:1px solid var(--line);padding-top:24px}.back-link{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.13em}.list-detail-head{display:flex;justify-content:space-between;align-items:flex-end;padding:55px 0 30px}.list-detail-head h2{margin:0 0 10px;font:italic 400 clamp(46px,8vw,90px)/.9 Georgia,serif;letter-spacing:-.05em}.list-detail-head span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.list-detail-head>button{padding-bottom:4px;border-bottom:1px solid var(--fg);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.list-detail-head>button:disabled{opacity:.3}.list-detail #listDetailAdd{display:flex;gap:20px;align-items:center;margin-bottom:25px}.detail-add{width:auto;max-width:260px;padding:8px 24px 8px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--muted);font-size:10px;text-transform:uppercase}.delete-current-list{color:var(--muted);font-size:9px;text-transform:uppercase}.word-remove{color:var(--muted);font-size:18px}
.practice-head{align-items:flex-end;margin-bottom:34px}.practice-head>span{padding-bottom:6px;color:var(--muted);font-size:10px;letter-spacing:.12em}.deck-picker{display:flex;gap:26px;overflow-x:auto;padding:0 0 18px;margin-bottom:38px;border-bottom:1px solid var(--line);scrollbar-width:none}.deck-picker::-webkit-scrollbar{display:none}.deck-picker button{flex:0 0 auto;position:relative;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.deck-picker button span{margin-left:5px;opacity:.65}.deck-picker button.active{color:var(--fg)}.deck-picker button.active::after{content:'';position:absolute;left:0;right:0;bottom:-19px;height:1px;background:var(--fg)}.swipe-stage::before,.swipe-stage::after{content:'';position:absolute;z-index:-1;inset:8px 12px -8px;border:1px solid var(--line)}.swipe-stage::after{inset:15px 22px -15px}.flashcard{touch-action:pan-y;will-change:transform}.flashcard-inner{background:var(--bg)}.card-face{justify-content:space-between}.flashcard h2,.flashcard h3{margin:auto 0}.flip-hint{align-self:flex-start}.practice-actions button{padding:10px 0;min-width:95px}.practice-actions button:first-child{text-align:left}.practice-actions button:last-child{text-align:right}
@media(max-width:700px){.site-head{position:sticky;top:0;z-index:4}.result{scroll-margin-top:75px}.site-head nav{z-index:7}.list-row{grid-template-columns:28px 1fr auto 18px;gap:10px;padding:24px 0}.list-row strong{font-size:31px}.list-row .list-count{font-size:8px}.collection-head.detail-open{margin-bottom:25px}.collection-head.detail-open h1{font-size:42px}.list-detail-head{padding:40px 0 25px}.list-detail-head h2{font-size:52px}.list-detail .editorial-item{grid-template-columns:26px 1fr auto}.list-detail .secondary{grid-column:2}.list-detail .word-remove{grid-column:3;grid-row:1/3}.practice-head{display:flex;margin-bottom:26px}.practice-head h1{font-size:64px}.deck-picker{margin:0 -16px 28px;padding:0 16px 16px}.deck-picker button.active::after{bottom:-17px}.swipe-stage{width:calc(100% - 8px)}.flashcard{height:min(58vh,480px);min-height:390px}.flashcard-inner{border-color:var(--line)}.card-face{padding:25px 22px}.practice-actions{padding:18px 4px calc(25px + env(safe-area-inset-bottom))}.flip-hint{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
