:root{--accent: #1a73e8;--accent-press: #1557b0;--bg: #f8f9fa;--card: #fff;--card-ai: #f0f6ff;--fg: #202124;--fg2: #5f6368;--line: #dadce0;--ok: #1e8e3e;--err: #d93025;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px -12px rgba(0, 0, 0, .08);--ease: cubic-bezier(.32, .72, 0, 1);color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--accent: #8ab4f8;--accent-press: #aecbfa;--bg: #202124;--card: #2d2e30;--card-ai: #283142;--fg: #e8eaed;--fg2: #9aa0a6;--line: #3c4043;--ok: #81c995;--err: #f28b82;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px -12px rgba(0, 0, 0, .5)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--fg)}body{font:17px/1.3 -apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}svg{display:block}[hidden]{display:none!important}.app{height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.langs{display:flex;align-items:center;gap:6px;padding:10px 16px 6px}.chip{flex:1;min-width:0;height:44px;display:flex;align-items:center;justify-content:center;gap:4px;background:var(--card);border-radius:14px;box-shadow:var(--shadow);font-size:17px;font-weight:600;letter-spacing:-.01em}.chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip svg{width:16px;height:16px;flex:none;color:var(--fg2)}.swap{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--fg2);transition:transform .22s var(--ease)}.swap svg{width:22px;height:22px}.swap.turn{transform:rotate(180deg)}.chip:active,.swap:active,.icon:active,.tab:active{background:var(--line)}.swap.loaded{background:var(--accent);color:#fff;box-shadow:var(--shadow)}.swap.loaded:active{background:var(--accent-press)}.modes{display:flex;justify-content:center;gap:6px;padding:2px 16px 0}.dot{min-height:44px;display:flex;align-items:center;gap:5px;padding:0 14px;border-radius:14px;color:var(--fg2);font-size:13px;font-weight:500;transition:color .18s var(--ease),background .18s var(--ease)}.dot i{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.55;transition:opacity .18s var(--ease)}.dot span{margin-left:3px}.dot.on{color:var(--accent);background:var(--card);box-shadow:var(--shadow)}.dot.on i{opacity:1}.dot:active{background:var(--line)}main{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:18px;padding:12px 16px 16px}.card{background:var(--card);border-radius:20px;box-shadow:var(--shadow);padding:16px 12px 6px 18px}.text{font-size:21px;line-height:1.45;letter-spacing:-.015em;margin:0;padding-right:6px;white-space:pre-wrap;overflow-wrap:anywhere}textarea.text{display:block;width:100%;resize:none;border:0;outline:0;background:transparent;color:inherit;font-family:inherit;max-height:40vh}textarea::placeholder{color:var(--fg2)}.card.slim{padding-top:10px}.card.slim .text{font-size:17px}.bar{display:flex;align-items:center;gap:2px;margin:6px 0 0 -9px}.bar .sp{flex:1}.icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--fg2)}.icon svg{width:22px;height:22px}.icon.on{color:var(--accent)}.icon[disabled]{opacity:.35}.ghost{height:44px;padding:0 11px;border-radius:14px;color:var(--fg2);font-size:15px;font-weight:500}.go{width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center}.go:active{background:var(--accent-press)}.go[disabled]{opacity:.4}.go svg{width:22px;height:22px}.mode{font-size:12px;line-height:16px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg2);padding:0 18px;margin-bottom:8px}.mode .arr{color:var(--accent)}.result.ai .card{background:var(--card-ai)}.result .card{animation:rise .2s var(--ease) both}@keyframes rise{0%{transform:translateY(6px)}}.note{font-size:13px;color:var(--fg2);padding:0 18px;margin-top:8px}.result.err .mode{color:var(--err)}.thumb{display:block;width:100%;max-height:88px;object-fit:cover;object-position:top;border-radius:12px;margin-bottom:12px;background:var(--line)}.dots{display:flex;gap:6px;padding:6px 0 10px}.dots i{width:8px;height:8px;border-radius:50%;background:var(--fg2);animation:pulse 1.1s var(--ease) infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,60%,to{opacity:.25}30%{opacity:.9}}.tabs{display:flex;flex:none;background:var(--card);border-top:1px solid var(--line);padding:6px 8px max(env(safe-area-inset-bottom),8px)}.tab{flex:1;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:500;color:var(--fg2);border-radius:14px}.tab svg{width:24px;height:24px}.tab.on{color:var(--accent)}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:var(--bg);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);animation:slide .22s var(--ease) both}@keyframes slide{0%{transform:translateY(100%)}}.sheet header{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 16px;font-size:17px;font-weight:600}.sheet header .sp{flex:1}.sheet .list{flex:1;min-height:0;overflow-y:auto;padding:0 8px 24px}.row{width:100%;min-height:52px;display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:14px;font-size:17px;text-align:left}.row:active{background:var(--line)}.row.on{color:var(--accent);font-weight:600}.row .tick{margin-left:auto;width:20px;height:20px}.search{margin:0 16px 10px;height:44px;padding:0 14px;border:0;outline:0;border-radius:14px;background:var(--card);box-shadow:var(--shadow);color:inherit;font:inherit;font-size:16px}.crop{background:#000;color:#fff}.crop .stage{flex:1;min-height:0;position:relative;overflow:hidden;touch-action:none}.crop canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.crop .frame{position:absolute;top:24px;right:24px;bottom:24px;left:24px;border:1px solid rgba(255,255,255,.9);box-shadow:0 0 0 9999px #000000ad;pointer-events:none}.crop footer{flex:none;display:flex;align-items:center;gap:8px;padding:12px 16px max(env(safe-area-inset-bottom),16px)}.crop footer .sp{flex:1}.crop .hint{font-size:13px;opacity:.7}.pill{height:44px;padding:0 20px;border-radius:14px;background:var(--accent);color:#fff;font-weight:600}.pill:active{background:var(--accent-press)}.pill.flat{background:#ffffff29}.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 96px);transform:translate(-50%);z-index:20;max-width:82vw;padding:10px 16px;border-radius:14px;background:var(--fg);color:var(--bg);font-size:14px;animation:rise .18s var(--ease) both}.empty{padding:48px 24px;text-align:center;color:var(--fg2);font-size:15px}.hist{padding:4px 8px 24px}.hist .item{width:100%;display:block;text-align:left;padding:12px;border-radius:14px}.hist .item:active{background:var(--line)}.hist .q{font-size:15px;color:var(--fg2);margin-bottom:2px}.hist .a{font-size:17px;overflow-wrap:anywhere}.hist .item+.item{border-top:1px solid var(--line)}
