@import"https://fonts.googleapis.com/css2?family=Cormorant+SC:wght@600;700&family=Inter:wght@400;500;700&family=Source+Serif+4:opsz,wght@8..60,400&display=swap";:root{--color-bg: #050508;--color-bg-elevated: #0c0c10;--color-text: #a8adb8;--color-text-heading: #e8eaed;--color-brand-silver-from: #c8ccd4;--color-brand-silver-to: #f0f2f5;--element-pentacles: #d8d2c8;--element-cups: #8fa3b2;--element-wands: #b53630;--element-swords: #276894;--element-aether: #296752;--intro-magenta: #c832b4;--intro-cyan: #00d4e8;--font-display: "Cormorant SC", serif;--font-body: "Source Serif 4", serif;--font-ui: "Inter", sans-serif;--prose-max-ch: 65ch;--glass-blur: 8px;--glass-bg-opacity: .12;--nav-prefetch-idle-ms: .6s;--intro-reveal-duration: 5s;--tat-fallback-bg: #050508}:root{--font-display-face: var(--font-display);--font-source-serif: var(--font-body);--font-inter: var(--font-ui)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-source-serif, var(--font-body));font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{margin:0;color:var(--color-text-heading);font-family:var(--font-display-face, var(--font-display));font-weight:600;line-height:1.1}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-brand-silver-from);outline-offset:2px}button{font:inherit}.te-font-ui{font-family:var(--font-inter, var(--font-ui))}:root{color-scheme:dark;--focus: var(--color-text-heading);--border: rgb(255 255 255 / .06);--panel: rgb(12 12 16 / var(--glass-bg-opacity));--panel-elevated: rgb(255 255 255 / .03);--muted: var(--color-text)}#root{min-height:100vh}a:hover{color:var(--color-text-heading)}.app{display:flex;flex-direction:column;min-height:100vh;max-width:68rem;margin:0 auto;padding:clamp(1.25rem,4vw,2.5rem) clamp(1rem,3vw,1.5rem) 2rem}.topBar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.topBar h1{font-size:clamp(1.35rem,3vw,1.75rem)}.translatorCard{border:1px solid var(--border);border-radius:.75rem;background:var(--panel);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.langBar{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;border-bottom:1px solid var(--border)}.langCell{display:flex;align-items:center;min-height:3rem;padding:.35rem 1rem;border-bottom:2px solid transparent}.langCellActive{border-bottom-color:var(--focus)}.langSelect{width:100%;padding:.35rem 1.75rem .35rem 0;border:0;background:transparent;color:var(--color-text-heading);font-family:var(--font-inter, var(--font-ui));font-size:.88rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23e8eaed' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .15rem center}.langSelect option{color:#111}.langLabel{font-family:var(--font-inter, var(--font-ui));font-size:.88rem;color:var(--color-text)}.langLabelFixed{color:var(--color-text-heading)}.swapBtn{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;margin:.35rem 0;border:0;border-left:1px solid var(--border);border-right:1px solid var(--border);background:transparent;color:var(--color-text-heading);opacity:.75;cursor:pointer;transition:opacity .15s ease,background .15s ease}.swapBtn:hover{opacity:1;background:#ffffff0a}.swapBtn svg{width:1.1rem;height:1.1rem}.panes{display:grid;grid-template-columns:1fr 1fr;min-height:14rem;align-items:start}.pane{display:flex;flex-direction:column;min-width:0}.paneOutput{background:var(--panel-elevated);border-left:1px solid var(--border)}.paneText{width:100%;padding:1.25rem 1.25rem .5rem;border:0;background:transparent;color:var(--color-text-heading);font-family:var(--font-source-serif, var(--font-body));font-size:clamp(1rem,2.2vw,1.2rem);line-height:1.75;resize:none}.paneTextInput{flex:1 1 auto;min-height:10rem;max-height:16rem;overflow-y:auto}.paneText:focus{outline:none}.paneText::placeholder{color:#a8adb88c}.paneTextOutput{flex:0 0 auto;min-height:10rem;height:auto;overflow:visible;white-space:pre-wrap;word-break:break-word}.paneFooter{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem .75rem .75rem}.paneFooterStart,.paneFooterEnd{display:flex;align-items:center;gap:.5rem}.paneFooterEnd{margin-left:auto}.charCount{font-family:var(--font-inter, var(--font-ui));font-size:.75rem;color:var(--muted);opacity:.8}.charCountLimit{color:var(--color-text-heading);opacity:1}.iconBtn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .45rem;border:0;border-radius:.35rem;background:transparent;color:var(--color-text-heading);opacity:.78;cursor:pointer;transition:opacity .15s ease,background .15s ease}.iconBtn:hover{opacity:1;background:#ffffff0f}.iconBtn svg{width:1rem;height:1rem}.iconBtnLabel{font-family:var(--font-inter, var(--font-ui));font-size:.75rem;letter-spacing:.04em}.outputLoading{display:flex;align-items:center;gap:.65rem}.spinner{width:1.1rem;height:1.1rem;border:2px solid rgb(255 255 255 / .12);border-top-color:var(--color-text-heading);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--muted);font-size:.9rem}.errorText{color:#e8a0a0;font-size:.95rem}.history{margin-top:2rem}.historyHeader{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.historyHeader h2{font-size:1rem}.textBtn{padding:0;border:0;background:none;color:var(--color-text-heading);font-family:var(--font-inter, var(--font-ui));font-size:.82rem;opacity:.75;text-decoration:underline;cursor:pointer}.textBtn:hover{opacity:1}.historyItem{display:block;width:100%;margin-bottom:.5rem;padding:.65rem .85rem;border:1px solid var(--border);border-radius:.5rem;background:rgb(12 12 16 / calc(var(--glass-bg-opacity) * .75));color:var(--color-text-heading);font-family:var(--font-source-serif, var(--font-body));text-align:left;cursor:pointer;transition:background .15s ease}.historyItem:hover{background:#ffffff0a}.historyItem .muted{font-family:var(--font-inter, var(--font-ui));font-size:.75rem}.siteFooter{position:relative;display:flex;align-items:center;justify-content:center;margin-top:auto;padding-top:2.5rem;font-family:var(--font-inter, var(--font-ui));font-size:.82rem;letter-spacing:.06em;opacity:.8}.siteFooter a:hover{opacity:1}.localeSwitcher{position:absolute;right:0;bottom:0}.localeSwitcherBtn{display:inline-flex;align-items:center;justify-content:center;padding:.2rem;border:0;background:transparent;color:var(--color-text-heading);opacity:.78;cursor:pointer;transition:opacity .15s ease}.localeSwitcherBtn:hover{opacity:1}.localeSwitcherIcon{width:1.1rem;height:1.1rem}.localeMenu{position:absolute;right:0;bottom:calc(100% + .5rem);top:auto;z-index:22;display:flex;flex-direction:column;gap:.15rem;min-width:3.5rem;margin:0;padding:.35rem;list-style:none;border:1px solid rgb(255 255 255 / .08);border-radius:.5rem;background:rgb(12 12 16 / min(1,calc(var(--glass-bg-opacity) + .35)));box-shadow:0 8px 24px #00000059}.localeOption,.localeOptionActive{width:100%;padding:.4rem .55rem;border:0;border-radius:.25rem;background:transparent;color:var(--color-text);font-family:var(--font-inter, var(--font-ui));font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;text-align:left;cursor:pointer}.localeOption:hover{color:var(--color-text-heading);background:#ffffff0a}.localeOptionActive{color:var(--color-text-heading);background:#ffffff0f}.localeOption:focus-visible,.localeOptionActive:focus-visible,.localeSwitcherBtn:focus-visible{outline:2px solid var(--color-brand-silver-from);outline-offset:2px}@media(max-width:768px){.topBar{flex-wrap:wrap}.panes{grid-template-columns:1fr}.paneOutput{border-left:0;border-top:1px solid var(--border)}.paneTextInput,.paneTextOutput{min-height:8rem}.langCell{padding-inline:.75rem}.langSelect{font-size:.82rem}}
