:root{--bg: #191711;--panel: #221e16;--panel-hover: #292319;--fg: #f2ede3;--soft: #c7bda8;--muted: #8d836d;--dim: #625a49;--rule: #302b21;--accent: #e8a05c;--accent-wash: rgba(232, 160, 92, .16);--option: #aaa08b;--option-unavailable: #4f493a;--control-border: #383121;--control-border-hover: #504530;--menu-border: #3a3223;--menu-text: #d8d0c0;--toggle-off: #3b352a;--toggle-knob: #968d7a;--scrollbar: #413827;color:var(--fg);background:var(--bg);font-family:Nunito Sans,Avenir Next,Segoe UI,system-ui,sans-serif;font-synthesis:none}:root[data-theme=light]{--bg: #f7f3eb;--panel: #fffdf8;--panel-hover: #efe8dc;--fg: #2b251d;--soft: #504639;--muted: #796d5d;--dim: #9a8c7b;--rule: #dcd3c6;--accent: #bf7132;--accent-wash: rgba(191, 113, 50, .14);--option: #6d6255;--option-unavailable: #c2b7a8;--control-border: #ddd2c2;--control-border-hover: #c9b9a3;--menu-border: #ddd2c2;--menu-text: #4c4135;--toggle-off: #d9d0c3;--toggle-knob: #8f816e;--scrollbar: #cdbfae}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;min-width:320px;overflow:hidden;background:var(--bg)}button,input{font:inherit}button{-webkit-appearance:none}button:focus{outline:none}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{height:100vh;max-width:86rem;margin:0 auto;padding:5.25rem 2rem 1.4rem;display:flex;flex-direction:column;align-items:center;gap:0}.sentence-block{flex:none;width:100%;min-height:8.9rem;padding:0 4rem;text-align:center}.sentence{max-width:68rem;margin:0 auto .9rem;font-size:clamp(2rem,3.7vw,3.35rem);font-weight:600;letter-spacing:-.035em;line-height:1.16}.translation{margin:0;font-size:1.15rem;color:var(--muted)}.token{border-radius:.24em;padding:0 .09em;margin:0 -.09em}.token-changed{animation:fade-highlight .65s ease-out forwards}@keyframes fade-highlight{0%{background:#e8a05c57}to{background:transparent}}.selectors{flex:none;width:100%;margin-top:2.8rem;display:grid;grid-template-columns:repeat(var(--dial-columns),148px);justify-content:center;align-items:start;gap:1rem .875rem}.selector-block{width:148px;min-width:0;display:flex;flex-direction:column;align-items:stretch}.selector-head{height:2.15rem;display:flex;align-items:center;gap:.25rem;padding:0 0 .55rem;margin:0 0 .45rem;border-bottom:2px solid var(--rule);transition:border-color .18s}.selector-head-label{flex:1;min-width:0;display:flex;justify-content:center;align-items:center;gap:.35rem;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:.72rem;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase;white-space:nowrap;transition:color .18s}.selector-head-label:hover{color:var(--soft)}.selector-head-active{border-color:var(--accent)}.selector-head-active .selector-head-label{color:var(--accent)}.selector-key{color:var(--dim);font-size:.65rem}.selector-head-label>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.selector-head-active .selector-key{color:var(--accent)}.article-switch{flex:none;display:flex;align-items:center;padding:1px;border:1px solid var(--rule);border-radius:999px;background:transparent;cursor:pointer;line-height:1}.article-switch span{padding:3px 4px;border-radius:999px;color:var(--dim);font-size:.58rem;font-weight:600;transition:background-color .15s,color .15s}.article-switch .article-current{background:var(--rule);color:var(--soft)}.article-switch:hover span:not(.article-current){color:var(--muted)}.selector{display:flex;flex-direction:column;gap:2px;padding:0;-webkit-user-select:none;user-select:none;touch-action:manipulation}.option{width:100%;height:37px;overflow:hidden;padding:0 .5rem;border:0;border-radius:10px;background:transparent;color:var(--option);cursor:pointer;font-size:1rem;font-weight:500;line-height:37px;text-align:center;text-overflow:ellipsis;white-space:nowrap;transition:background-color .15s,color .15s}.option:hover:not(:disabled):not(.option-current){color:var(--fg);background:var(--panel-hover)}.option-current{background:var(--accent-wash);color:var(--fg);font-weight:600}.option-unavailable{color:var(--option-unavailable);cursor:default}.selector-more{height:30px;margin-top:1px;padding:0;border:0;background:transparent;color:var(--dim);cursor:pointer;font-size:.76rem;letter-spacing:.025em;text-align:center;transition:color .15s}.selector-more:hover:not(:disabled){color:var(--soft)}.selector-more-empty{cursor:default}.history{width:min(56.25rem,100%);min-height:0;flex:1 1 0;margin-top:3rem;overflow-y:auto;padding-right:.45rem;scrollbar-color:var(--scrollbar) transparent;scrollbar-width:thin}.history::-webkit-scrollbar{width:7px}.history::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:8px}.history-rule{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:1rem;padding-bottom:.9rem;background:var(--bg);color:var(--dim);font-size:.68rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase}.history-rule:before,.history-rule:after{content:"";flex:1;border-top:1px solid var(--rule)}.history ul{margin:0;padding:0;list-style:none;color:var(--muted);font-size:1rem;line-height:1.62}.history li{opacity:.67}.history li:nth-child(2){opacity:.78}.history li.history-newest{color:var(--soft);opacity:1}.settings,.lang{position:fixed;top:1.15rem;z-index:3}.settings{left:1.15rem}.lang{right:1.4rem}.settings-button{border:1px solid var(--control-border);border-radius:12px;background:var(--panel);color:var(--soft);cursor:pointer;box-shadow:0 .75rem 2.5rem #0003;transition:border-color .15s,background .15s,color .15s}.settings-button:hover{border-color:var(--control-border-hover);background:var(--panel-hover);color:var(--fg)}.menu-button{width:42px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0}.menu-button span{width:16px;height:2px;border-radius:2px;background:currentColor}.lang .settings-button{padding:.58rem 1rem;border-radius:999px;font-size:.77rem;font-weight:700;letter-spacing:.11em}.settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1}.settings-menu{position:absolute;top:calc(100% + .7rem);min-width:17rem;padding:.75rem 1rem 1rem;border:1px solid var(--menu-border);border-radius:16px;background:var(--panel);box-shadow:0 1.25rem 3.5rem #0000008c}.feature-menu{display:flex;flex-direction:column;gap:.55rem}.menu-group{display:flex;flex-direction:column}.menu-group-title{padding:.42rem .1rem .32rem;color:var(--dim);font-size:.66rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.menu-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.18rem;padding:0 .1rem;border-radius:8px;color:var(--menu-text);cursor:pointer;font-size:.94rem;font-weight:400;-webkit-user-select:none;user-select:none}.menu-toggle:hover{background:var(--panel-hover)}.menu-toggle input{position:absolute;opacity:0;pointer-events:none}.menu-toggle:has(input:disabled){color:var(--dim);cursor:default}.toggle-track{width:34px;height:20px;flex:none;padding:3px;border-radius:999px;background:var(--toggle-off);transition:background .18s}.toggle-track span{display:block;width:14px;height:14px;border-radius:50%;background:var(--toggle-knob);transition:transform .18s,background .18s}.menu-toggle input:checked+.toggle-track{background:var(--accent)}.menu-toggle input:checked+.toggle-track span{transform:translate(14px);background:#fff7e9}.menu-toggle input:focus-visible+.toggle-track{outline:2px solid #fff7e9;outline-offset:2px}.theme-choice{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:10px;background:var(--panel-hover)}.theme-choice button{min-height:2rem;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:.85rem}.theme-choice button:hover{color:var(--fg)}.theme-choice .theme-current{background:var(--panel);color:var(--fg);font-weight:600;box-shadow:0 1px 3px #221a101f}.about-button{margin-top:.2rem;padding:.58rem .1rem .1rem;border:0;border-top:1px solid var(--rule);background:transparent;color:var(--muted);cursor:pointer;font-size:.85rem;text-align:left}.about-button:hover{color:var(--fg)}.about-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:1.25rem}.about-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000075;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.about-dialog{position:relative;width:min(31rem,100%);padding:2rem;border:1px solid var(--menu-border);border-radius:18px;background:var(--panel);box-shadow:0 1.5rem 4rem #00000061;color:var(--soft)}.about-kicker{margin-bottom:.45rem;color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.about-dialog h2{margin:0 0 1rem;color:var(--fg);font-size:2rem;font-weight:600;letter-spacing:-.03em}.about-dialog p{margin:.8rem 0;font-size:.98rem;line-height:1.58}.about-dialog .about-note{margin-top:1.15rem;color:var(--muted);font-size:.86rem}.about-close{position:absolute;top:.8rem;right:.8rem;width:2rem;height:2rem;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:1.6rem;line-height:1}.about-close:hover{background:var(--panel-hover);color:var(--fg)}.lang .settings-menu{left:auto;right:0;min-width:9rem;padding:.4rem}.lang-option{width:100%;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;padding:.48rem .7rem;font-size:.9rem;text-align:left}.lang-option:hover,.lang-current{background:var(--panel-hover);color:var(--fg)}@media(max-width:1370px){.app{max-width:43rem}.selectors{grid-template-columns:repeat(var(--dial-columns-mid),148px)}}@media(max-width:700px){body{overflow:auto}.app{height:auto;min-height:100dvh;max-width:100%;padding:0 .7rem 1rem}.sentence-block{position:sticky;top:0;z-index:2;width:calc(100% + 1.4rem);min-height:0;padding:4.15rem 1rem .65rem;border-bottom:1px solid var(--rule);background:var(--bg)}.sentence{margin-bottom:.45rem;font-size:clamp(1.35rem,6.3vw,1.85rem)}.translation{font-size:.92rem}.selectors{margin-top:1.2rem;grid-template-columns:repeat(var(--dial-columns-mobile-wide),148px);gap:1rem .55rem}.history{flex:none;margin-top:2rem;overflow:visible}.history-rule{position:static}.settings,.lang{top:.8rem}.settings{left:.75rem}.lang{right:.75rem}.settings-menu{max-width:calc(100vw - 1.5rem)}}@media(max-width:500px){.selectors{grid-template-columns:repeat(var(--dial-columns-small),148px)}}
