@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/manrope-latin-700-BZp_XxE4.woff2) format("woff2")}:root{font-family:Inter,sans-serif;color:#25283e;background:#f7f8fc;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f7f8fc;--surface: rgba(255, 255, 255, .76);--surface-high: #ffffff;--line: rgba(79, 86, 125, .13);--muted: #61677c;--accent: #4f46aa;--accent-soft: #eeecfa;--teal: #166d70;--teal-soft: #e7f4f2;--danger: #a63448;--shadow: 0 16px 50px rgba(71, 77, 120, .06), inset 0 1px 0 rgba(255, 255, 255, .9);--ease: cubic-bezier(.2, .75, .25, 1);--dock-space: 170px}*{box-sizing:border-box}html{min-width:320px;min-height:100%;scroll-behavior:smooth;scroll-padding-bottom:calc(var(--dock-space) + env(safe-area-inset-bottom,0px))}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse at 12% 8%,rgba(213,207,246,.5),transparent 48%),radial-gradient(ellipse at 90% 35%,rgba(203,225,250,.47),transparent 48%),radial-gradient(ellipse at 45% 90%,rgba(250,221,209,.42),transparent 52%),var(--bg);background-attachment:fixed}button,textarea,input,select,code,kbd,samp,pre{font:inherit}a{-webkit-tap-highlight-color:transparent}button{color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:not(:disabled),a{cursor:pointer}button:disabled{cursor:not-allowed}button,a,textarea,input{transition:background-color .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),color .18s var(--ease),transform .18s var(--ease)}button:focus-visible,input[type=file]:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}textarea,input:not([type=file]){outline:none;box-shadow:none}button:not(:disabled):active{transform:scale(.98)}svg{flex-shrink:0}::selection{background:#ddd9f6;color:#25283e}.app-shell{min-height:100vh;min-height:100dvh;position:relative;padding:max(24px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) calc(var(--dock-space) + env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px))}.app-shell>*:not(.ambient):not(.dialog-backdrop):not(.voice-dock){position:relative;z-index:1;width:min(1040px,100%);margin-inline:auto}.ambient{position:fixed;z-index:0;border-radius:50%;pointer-events:none;filter:blur(45px)}.ambient--one{width:min(580px,90vw);height:450px;top:-240px;left:-100px;background:#dad1f94d}.ambient--two{width:min(500px,70vw);height:400px;bottom:10%;right:-130px;background:#dfecff57}.icon-button{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:0;color:var(--muted)}.icon-button svg{width:19px;height:19px}.glass-button,.glass-panel{background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow)}.eyebrow{display:block;color:var(--muted);font-size:10px;line-height:1.5;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.confectionery-promo{display:grid;grid-template-columns:minmax(0,1fr) auto 48px;align-items:center;gap:18px;margin-bottom:16px;padding:14px 18px;border:1px solid rgba(255,255,255,.92);border-radius:24px}.confectionery-promo__intro{min-width:0}.confectionery-promo__brand{display:flex;align-items:baseline;gap:8px}.confectionery-promo__by{color:var(--muted);font-size:11px}.confectionery-promo__name{font-family:Manrope,Inter,sans-serif;font-size:19px;font-weight:700;letter-spacing:.16em;line-height:1.4;text-transform:uppercase}.confectionery-promo__intro p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.promo-contacts{display:flex;align-items:center;gap:4px}.promo-contacts a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 10px;border-radius:12px;color:var(--muted);text-decoration:none;font-size:12px}@media(hover:hover)and (pointer:fine){.promo-contacts a:hover{color:var(--accent)}}.promo-contacts svg{width:17px;height:17px}.promo-gift{position:relative;isolation:isolate;width:48px;height:48px;overflow:hidden;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.9);border-radius:50%;color:var(--accent);background:#ffffffb3;box-shadow:0 5px 16px #69629f1a}.promo-gift--unseen:before{content:"";position:absolute;inset:-50%;z-index:0;pointer-events:none;background:conic-gradient(from 30deg,#b6a2ed,#9fcdf4,#f2bba5,#dac4ef,#b6a2ed);animation:glass-flow 6s linear infinite}.promo-gift:after{content:"";position:absolute;inset:3px;z-index:1;border-radius:inherit;background:#f7f8fc;box-shadow:inset 0 1px 2px #fff;pointer-events:none}.promo-gift svg{position:relative;z-index:2;width:21px;height:21px}.promo-offer{text-align:center}.promo-offer__icon{display:grid;place-items:center;width:60px;height:60px;margin:8px auto 16px;border-radius:20px;background:linear-gradient(135deg,#eee8fa,#e6f1fc,#fbece6);color:var(--accent)}.promo-offer__icon svg{width:28px;height:28px}.promo-offer__discount{margin:0;font-size:30px;font-weight:700;letter-spacing:-.03em}.promo-offer__description{max-width:340px;margin:12px auto 22px;color:var(--muted);font-size:14px;line-height:1.6}.promo-code{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#ffffffa6}.promo-code code{padding:6px;font-size:25px;font-weight:700;letter-spacing:.1em;color:var(--accent);-webkit-user-select:all;user-select:all}.promo-code__copy{min-height:44px;gap:7px;font-size:12px}.promo-code__copy[aria-disabled=true]{opacity:.65;cursor:progress}.promo-code__copy svg{width:17px;height:17px}.promo-copy-status{min-height:40px;margin:14px 0 0;color:#256451;font-size:12px;line-height:1.6}.promo-copy-status--error{color:var(--danger)}@media(max-width:600px){.confectionery-promo{grid-template-columns:minmax(0,1fr) 48px;gap:2px 12px;padding:12px 14px 6px;border-radius:22px}.confectionery-promo__name{font-size:17px}.confectionery-promo__intro p{font-size:11px}.promo-contacts{grid-column:1 / -1;grid-row:2;gap:8px}.promo-contacts a{padding-inline:4px}.promo-gift{grid-column:2;grid-row:1}}.translator{padding-top:8px}.translator-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 56px;align-items:stretch;gap:12px;margin-bottom:22px}.translator-toolbar>.icon-button{width:56px;height:auto;min-height:56px;border-radius:20px}.language-switch{width:fit-content;max-width:100%;margin:0 auto;padding:5px;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:22px}.language-switch span{min-width:140px;padding:12px 14px;text-align:center;border-radius:16px;color:var(--muted);font-size:13px;line-height:1.4;font-weight:700}.language-switch span.active{color:var(--accent);background:var(--accent-soft)}.language-switch button{width:44px;height:44px;flex-shrink:0;border:0;border-radius:15px;display:grid;place-items:center;background:transparent;color:var(--accent)}.language-switch svg{width:19px;height:19px;transform:rotate(90deg)}.translation-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"source result" "action action";gap:16px;align-items:stretch}.text-card{min-width:0;min-height:330px;display:flex;flex-direction:column;padding:26px;border:1px solid rgba(255,255,255,.95);border-radius:28px;background:var(--surface);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:var(--shadow)}.source-card{align-self:start;grid-area:source;--source-min-height: 180px;--source-max-height: max(var(--source-min-height), min(360px, 45svh))}.result-card{grid-area:result;background:#ffffff94}.text-card>header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.text-card h2{margin:6px 0 0;font-size:18px;line-height:1.4;letter-spacing:-.02em}.char-counter{color:var(--muted);font-size:11px;line-height:1.5;white-space:nowrap}.char-counter--low{color:#895c20}textarea{flex:1;width:100%;min-height:180px;padding:20px 0 16px;resize:none;border:0;border-radius:4px;color:inherit;background:transparent;font-size:clamp(19px,2vw,25px);line-height:1.6}textarea::placeholder{color:var(--muted);opacity:1}.source-card textarea{flex:none;height:var(--source-height, var(--source-min-height));min-height:var(--source-min-height);max-height:var(--source-max-height);overflow-y:auto;margin-top:8px;scroll-margin-block:24px calc(var(--dock-space) + 24px);transition:height .26s var(--ease)}.source-card>.card-actions{border-top:0;margin-top:auto}.result-content{flex:1;padding:28px 0 20px;font-size:clamp(21px,2.2vw,28px);line-height:1.6;overflow-wrap:anywhere}.result-content p{margin:0;white-space:pre-wrap}.result-content .placeholder{color:var(--muted);font-size:clamp(19px,2vw,25px)}.card-actions{min-height:44px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.card-actions>div{min-width:0;display:flex;flex-wrap:wrap;gap:4px}.small-action,.inline-actions button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;padding:8px 10px;border-radius:12px;background:transparent;color:var(--muted);font-size:12px;line-height:1.4}.small-action svg,.inline-actions svg{width:16px;height:16px}.small-action:disabled,.inline-actions button:disabled{opacity:.55}.translate-button{grid-area:action;min-height:56px;width:min(400px,100%);margin:4px auto 0;border:1px solid rgba(79,70,170,.12);border-radius:18px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:12px 18px;background:var(--accent);color:#fff;font-weight:700;font-size:15px;box-shadow:0 8px 22px #4f46aa29}.translate-button>span:not(.spinner){font-size:11px;font-weight:400}.translate-button:disabled{color:#656978;background:#e5e6ed;border-color:transparent;box-shadow:none}.loading-lines{display:grid;gap:14px;padding-top:6px}.loading-lines i{height:14px;border-radius:8px;background:linear-gradient(90deg,#e9e8f1,#f7f7fc,#e9e8f1);background-size:220% 100%;animation:shimmer 1.6s linear infinite}.loading-lines i:nth-child(2){width:84%}.loading-lines i:nth-child(3){width:55%}.spinner{display:inline-block;width:18px;height:18px;flex-shrink:0;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.voice-dock{position:fixed;z-index:20;bottom:max(16px,env(safe-area-inset-bottom,0px));left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));width:min(380px,calc(100% - 32px));margin-inline:auto;display:grid;justify-items:center;gap:10px;padding:0;border-radius:0;background:none}.voice-orb-shell{position:relative;isolation:isolate;display:grid;place-items:center;width:96px;height:96px}.voice-orb-shell:before{content:"";position:absolute;inset:-9px;z-index:-1;border-radius:50%;background:conic-gradient(from 30deg,#c4b4f0,#b5d9f8,#f6cdbc,#d9c7f5,#c4b4f0);opacity:.58;filter:blur(12px);pointer-events:none;animation:glass-flow 14s linear infinite}.voice-orb-shell--active:before{opacity:calc(.5 + var(--voice-level, 0) * .45);scale:calc(1 + var(--voice-level, 0) * .18);animation-duration:4s;transition:opacity 90ms linear,scale 90ms linear}.voice-orb{position:relative;display:grid;place-items:center;width:96px;height:96px;flex-shrink:0;overflow:hidden;isolation:isolate;padding:0;border:0;border-radius:50%;background:#ffffff57;-webkit-backdrop-filter:blur(8px) saturate(150%) brightness(1.052);backdrop-filter:blur(8px) saturate(150%) brightness(1.052);color:#3d385d;box-shadow:inset 0 -2px 5px #69629f2b,0 12px 30px #69629f29;transition:transform .2s var(--ease),box-shadow .2s var(--ease),color .2s var(--ease)}.voice-orb:before{content:"";position:absolute;inset:-52%;z-index:0;pointer-events:none;background:conic-gradient(from 30deg,#d8cff5,#cbe1fa,#faddd1,#e6ddfb,#d8cff5);opacity:.5;animation:glass-flow 18s linear infinite;transition:opacity .22s var(--ease)}.voice-orb:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at 24% 8%,rgba(255,255,255,.88),transparent 55%),linear-gradient(150deg,rgba(255,255,255,.23),transparent 55%,rgba(170,156,216,.12));box-shadow:inset 0 -1px 2px #6a619c33}.voice-orb--active:before{opacity:calc(.6 + var(--voice-level, 0) * .35);animation-duration:4s}.voice-orb--active{color:#393251;box-shadow:inset 0 -2px 5px #69629f2e,0 12px 38px #897abb40}.voice-orb:not(:disabled):active{transform:none}.voice-orb:disabled:not(.voice-orb--active){color:#717387}.voice-orb:disabled:not(.voice-orb--active):before{opacity:.2}.voice-orb__icon{position:relative;z-index:2;display:grid;place-items:center}.voice-orb__icon svg{width:34px;height:34px;stroke-width:1.65}.voice-orb--active .voice-orb__icon svg{width:26px;height:26px;fill:currentColor}.voice-orb__icon .spinner{width:26px;height:26px}.voice-dock__status:empty{display:none}.history-section{padding-top:40px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}.section-heading h2{margin:6px 0 0;font-size:21px;letter-spacing:-.03em;line-height:1.35}.text-button{min-height:44px;flex-shrink:0;border:0;padding:8px 4px;background:transparent;color:var(--accent);font-size:12px;font-weight:700}.history-preview,.history-list{display:grid;gap:8px}.history-card{width:100%;display:grid;grid-template-columns:minmax(140px,.8fr) minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center;text-align:left;padding:16px 18px;border:1px solid var(--line);border-radius:18px;color:inherit;background:#ffffffa3}.history-card__meta{min-width:0;display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:700;line-height:1.5}.history-card__meta time{color:var(--muted);font-weight:400}.history-card__source,.history-card__target{display:block;min-width:0;line-height:1.6;font-size:13px;overflow-wrap:anywhere}.history-card__source{color:var(--muted)}.history-card__target{color:var(--accent)}.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.empty-history{padding:24px;border:1px dashed rgba(79,86,125,.23);border-radius:20px;color:var(--muted);background:#ffffff4d;font-size:13px}.empty-history p{margin:7px 0 0;font-size:12px;line-height:1.6}.dialog-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:#2f324c42;animation:fade-in .18s var(--ease)}.dialog{position:relative;width:min(460px,100%);max-height:calc(100vh - 32px);max-height:min(780px,calc(100dvh - max(16px,env(safe-area-inset-top,0px)) - max(16px,env(safe-area-inset-bottom,0px))));overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid #fff;border-radius:28px;padding:24px;background:#fafaff;box-shadow:0 30px 100px #2a2e5033;animation:dialog-in .24s var(--ease)}.dialog--wide{width:min(760px,100%)}.dialog__header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.dialog__header h2{margin:0;font-size:21px;letter-spacing:-.02em;line-height:1.4}.dialog-copy{color:var(--muted);font-size:14px;line-height:1.7}.dialog-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.dialog-actions p{margin:0;color:var(--muted);font-size:12px}.danger-button,.secondary-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;border:1px solid var(--line);padding:10px 14px;background:#fff;font-size:12px;line-height:1.4;font-weight:700}.secondary-button{color:var(--accent)}.secondary-button:disabled{color:var(--muted);opacity:.6}.danger-button{color:var(--danger);border-color:#eccbd1}.danger-button svg,.secondary-button svg{width:16px;height:16px}.danger-button--filled{background:var(--danger);color:#fff;border-color:var(--danger)}.confirmation-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:22px}.load-more{width:100%;margin-top:14px}.detail-time{color:var(--muted);font-size:11px}.detail-block{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff}.detail-block--target{border-color:#d9d5ee;background:#f5f3fc}.detail-block p{margin:10px 0 16px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.detail-block--target p{color:#37335d}.inline-actions{display:flex;flex-wrap:wrap;gap:4px;margin-left:-9px}.detail-delete{margin-top:18px}.speaker-text{min-height:230px;display:grid;place-items:center;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;font-size:clamp(30px,5vw,54px);line-height:1.5}.photo-attachment{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);min-width:0}.photo-attachment .dialog-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;margin-bottom:12px}.photo-attachment h3{margin:0 0 10px;font-size:15px}.photo-attachment .secondary-button{max-width:100%;margin-block:4px}.photo-preview{display:block;max-width:100%;max-height:280px;object-fit:contain;margin:18px auto;border:1px solid var(--line);border-radius:16px;background:#fff}.photo-disclosure{font-size:13px;color:var(--muted);line-height:1.7}.photo-error{color:var(--danger);line-height:1.6}.photo-review{display:flex;flex-direction:column;gap:12px;margin-top:20px}.photo-review label{font-size:13px;font-weight:700;line-height:1.6}.photo-review>p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.photo-review>.photo-error{color:var(--danger)}.photo-review textarea{width:100%;min-height:160px;padding:14px;color:inherit;background:#fff;border:1px solid var(--line);border-radius:14px;font-size:16px;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes shimmer{to{background-position:-220% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}@keyframes glass-flow{to{transform:rotate(360deg)}}@media(hover:hover){.voice-orb:not(:disabled):hover{box-shadow:inset 0 -2px 5px #69629f2e,0 14px 36px #69629f38}.icon-button:hover,.small-action:not(:disabled):hover,.inline-actions button:not(:disabled):hover,.language-switch button:hover{background:var(--accent-soft);color:var(--accent)}.translate-button:not(:disabled):hover{background:#443b99;transform:translateY(-1px);box-shadow:0 12px 28px #4f46aa33}.history-card:hover{border-color:#4f46aa47;background:#ffffffeb;transform:translateY(-1px)}.secondary-button:not(:disabled):hover{background:var(--accent-soft)}.danger-button:not(:disabled):hover,.voice-dock__cancel:hover{background:#fff0f2}.danger-button--filled:not(:disabled):hover{background:#8c293b}}@media(max-width:759px){:root{--dock-space: 260px}.app-shell{padding-top:max(16px,env(safe-area-inset-top,0px));padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px))}.translator-toolbar{margin-bottom:16px}.translation-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"source" "action" "result";gap:12px}.text-card{min-height:230px;padding:20px;border-radius:24px}.result-card--empty{min-height:190px}.text-card h2{font-size:17px}.source-card{--source-min-height: 110px}textarea{min-height:110px;padding-top:16px;font-size:19px}.result-content{padding-top:24px;font-size:23px}.result-content .placeholder{font-size:19px}.language-switch{width:100%;border-radius:20px}.language-switch span{flex:1;min-width:0;padding:12px 6px;font-size:12px}.translate-button{width:100%;min-height:52px;margin:0;border-radius:16px}.history-section{padding-top:30px}.section-heading h2{font-size:19px}.history-card{grid-template-columns:minmax(0,1fr);gap:7px;padding:14px 16px}.history-card__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px}.voice-dock{bottom:max(10px,env(safe-area-inset-bottom,0px));left:max(10px,env(safe-area-inset-left,0px));right:max(10px,env(safe-area-inset-right,0px));width:min(380px,calc(100% - 20px));padding:0;gap:8px}.dialog{padding:18px;border-radius:24px}.dialog__header h2{font-size:19px}}@media(max-width:390px){.app-shell{padding-inline:max(12px,env(safe-area-inset-left,0px)) max(12px,env(safe-area-inset-right,0px))}.text-card{padding:18px}.char-counter{font-size:10px}.section-heading{align-items:center;gap:8px}.section-heading h2{font-size:17px}.small-action{padding-inline:7px}.card-actions{align-items:flex-start}}@media(max-width:759px)and (max-height:520px){.voice-dock{padding:0;gap:5px}.voice-orb,.voice-orb-shell{width:64px;height:64px}.voice-orb__icon svg{width:27px;height:27px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.language-direction{display:inline-flex;align-items:center;gap:7px;font:inherit}.language-direction svg{width:16px;height:16px;stroke-width:1.6}.install-section{padding-block:18px;border-top:1px solid var(--line)}.install-section:first-of-type{border-top:0;padding-top:0}.install-section h3{margin:0 0 8px;font-size:16px}.install-section p{color:var(--muted);font-size:13px;line-height:1.7}.install-section svg{width:17px;height:17px;vertical-align:middle}.copy-error{color:var(--danger);font-size:12px;line-height:1.5}.voice-dock__cancel{position:absolute;top:50%;left:calc(50% + 60px);margin-top:-28px;width:56px;height:56px;min-height:56px;padding:0;border:0;background:transparent;border-radius:50%;display:grid;place-items:center;color:var(--muted);isolation:isolate}.voice-dock__cancel:before{content:"";position:absolute;inset:4px;z-index:-1;border-radius:50%;border:1px solid var(--line);background:#ffffffe6}.voice-dock__cancel svg{width:24px;height:24px}@media(max-width:759px)and (max-height:520px){.voice-dock__cancel{left:calc(50% + 44px)}}@media(prefers-reduced-motion:reduce){.voice-orb-shell--active:before{scale:1;opacity:calc(.45 + var(--voice-level, 0) * .5)}.voice-orb--active:before{opacity:calc(.45 + var(--voice-level, 0) * .5)}}.result-card--ready{position:relative;isolation:isolate;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#fafafd,#fafafd) padding-box,linear-gradient(120deg,#c4b4f0,#b5d9f8,#f6cdbc,#d9c7f5) border-box;box-shadow:0 0 22px 3px #c4b4f052,0 0 12px 2px #b5d9f83d,0 0 34px 3px #f6cdbc2e}.result-card--ready:before,.result-card--ready:after{content:"";position:absolute;width:48px;height:48px;z-index:-1;border-radius:50%;pointer-events:none;opacity:.18;animation:result-flow 6s ease-in-out infinite;will-change:opacity}.result-card--ready:before{top:0;left:0;background:radial-gradient(circle,rgba(196,180,240,.65),rgba(181,217,248,.25),transparent 72%)}.result-card--ready:after{bottom:0;right:0;background:radial-gradient(circle,rgba(246,205,188,.6),rgba(217,199,245,.25),transparent 72%);animation-delay:-3s}@keyframes result-flow{0%,to{opacity:.1}50%{opacity:.26}}.result-actions{display:grid;grid-template-columns:repeat(3,max-content);justify-content:space-between;gap:4px}.result-actions>button{grid-row:1;padding-inline:7px;white-space:nowrap}.result-actions>.result-expand{grid-column:3}.result-actions>.copy-error{grid-column:1 / -1;grid-row:2}@media(prefers-reduced-motion:reduce){.result-card--ready:before,.result-card--ready:after{will-change:auto}}.voice-dock{pointer-events:none}.voice-dock button{pointer-events:auto}@media(max-width:359px){.result-actions>button{padding-inline:4px;gap:4px;font-size:11px}.result-actions>button svg{width:16px;height:16px}}.toast-viewport{position:fixed;z-index:70;top:max(12px,env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));max-width:460px;margin-inline:auto;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:20px;background:#fafafff5;color:var(--muted);box-shadow:0 12px 36px #474d7824;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:13px;line-height:1.5;pointer-events:auto;animation:toast-in .22s var(--ease) both}.toast--error{border-color:#eccbd1;color:var(--danger);background:#fff4f5fa}.toast--warning{border-color:#e7d7b6;color:#785623;background:#fff9ecfa}.toast--success{border-color:#c2ded4;color:#256451;background:#eef8f2fa}.toast--info{border-color:#d9d5ee;color:#4f46aa}.toast__icon{flex-shrink:0;width:20px;height:20px;margin-top:2px}.toast__icon svg{width:20px;height:20px}.toast__content{flex:1;min-width:0;overflow-wrap:anywhere}.toast__text{margin:0;max-height:160px;overflow:auto;overscroll-behavior:contain}.toast__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.toast__actions .secondary-button{padding:8px 10px;color:inherit;background:#fffc}.toast__close{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;padding:0;margin:-6px -6px -6px 0;border:0;border-radius:12px;color:inherit;background:transparent}.toast__close svg{width:20px;height:20px}.toast--leaving{animation:toast-out .18s var(--ease) both;pointer-events:none}.dialog__toast-host{position:sticky;top:0;z-index:10;height:0;pointer-events:none}.dialog__toast-host .toast-viewport{position:absolute;top:-8px;left:-6px;right:-6px;max-width:none}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}@keyframes toast-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px) scale(.98)}}
