/* ARI - calm minimalist layer, loaded last. Presentation only, no logic.
 1. One type scale: H1 is 28px on mobile and 32px on desktop, on every screen (overrides the 29/34/36 variants).
 2. One secondary grey (#5f665a) for all helper, label and caption text (replaces 6 different greys).
 3. 12px floor: nothing renders under 12px (labels, notes, dates, hints, captions).
 4. One primary button style: 48px high, 16px radius, 14px text, same deep green fill everywhere.
 5. Chat answer actions: 3 visible (copy, read aloud, more); My Voice and Retry appear on hover or focus.
 6. Usage loading: the "Usage is loading..." sentence becomes a quiet skeleton.
 7. Missing or broken images: neutral file-glyph tile instead of the browser broken-image icon.
 8. Consistent 64px minimum for every list row (items, recents, skills, connectors).
 9. Calm focus ring: one 2px accent outline for all interactive elements, no stray outlines.
10. Tabular numerals and quieter hairlines so numbers and dividers stop competing with text.
*/
:root{--ari-grey:#5f665a;--ari-hair:#e8ebe4}
html[data-theme="dark"]{--ari-grey:#a3ada4;--ari-hair:#262d29}

/* 1 - single H1 scale */
.screen h1,.welcome h1,.create-workspace-head h1,.create-mobile-panel-head h1{font-size:28px;line-height:1.2;letter-spacing:-.9px;font-weight:500}
@media(min-width:950px){.screen h1,.welcome h1,.create-workspace-head h1,.create-mobile-panel-head h1{font-size:32px;line-height:1.18;letter-spacing:-1.1px}}

/* 2 - one secondary grey */
.screen-lead,.row-copy small,.screen .muted,.row-meta,.plan-tag,.form-label,.usage-label small,.feature-list,.screen .soft-box p,.account-email,.preview-chat p,.preview-chat ul,.create-card small,.screen .quiet-note,.quiet-note,.screen .section-label,.section-label,.overline,.mini-date,.recent-item time,.hive-card small,.usage-section-copy,.theme-preview small,.chat-message-tools{color:var(--ari-grey)}
.chat-message-tools{opacity:1}

/* 3 - 12px floor */
.overline,.section-label,.quiet-note,.screen .quiet-note,.mini-date,.recent-item time,.hive-card small,.row-meta,.plan-tag,.form-label,.usage-label small,.theme-preview small,.theme-preview strong,.theme-mini,.design-rail .rail-sub,.design-rail .rail-group,.design-rail .rail-note,.design-rail button,.row-copy small,.feature-list{font-size:12px!important}
.screen .section-label{letter-spacing:.7px}

/* 4 - one primary button */
.primary{width:100%;min-height:48px;padding:0 21px;margin-top:20px;border-radius:16px;font-size:14px;font-weight:500;background:#075e59;background-image:none;color:#fff;border:0;box-shadow:none;transition:background .16s ease,transform .16s ease}
.primary:hover{background:#08756e;box-shadow:none}
.primary:active{transform:translateY(1px)!important;box-shadow:none}
@media(min-width:950px){.primary{width:fit-content;min-width:176px}}

/* 5 - answer actions reduced to 3 visible */
.chat-message-tools [data-chat-action="my-voice"],.chat-message-tools [data-chat-action="retry"]{display:none}
.chat-message:hover .chat-message-tools [data-chat-action="my-voice"],.chat-message:hover .chat-message-tools [data-chat-action="retry"],.chat-message:focus-within .chat-message-tools [data-chat-action="my-voice"],.chat-message:focus-within .chat-message-tools [data-chat-action="retry"],.chat-failed .chat-message-tools [data-chat-action="retry"]{display:grid}
.chat-message-tools button{width:36px;flex-basis:36px}

/* 6 - skeleton instead of "Usage is loading..." */
.usage-section>.quiet-note:only-child{position:relative;font-size:0!important;color:transparent;height:92px;margin:0!important}
.usage-section>.quiet-note:only-child::before{content:"";position:absolute;inset:8px 0 auto 0;height:62px;border-radius:8px;background:
 linear-gradient(90deg,var(--hair),var(--soft),var(--hair)) 0 0/100% 10px no-repeat,
 linear-gradient(90deg,var(--hair),var(--soft),var(--hair)) 0 26px/62% 10px no-repeat,
 linear-gradient(90deg,var(--hair),var(--soft),var(--hair)) 0 52px/38% 10px no-repeat;background-color:transparent;opacity:.9;animation:ari-pulse 1.4s ease-in-out infinite}
@keyframes ari-pulse{50%{opacity:.45}}
@media(prefers-reduced-motion:reduce){.usage-section>.quiet-note:only-child::before{animation:none}}

/* 7 - neutral file-glyph tile for missing / broken images */
.art,.connector-logo,.hive-card .art{background-color:var(--soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a9afa4' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:28px}
.art img,.connector-logo img,.hive-card img{color:transparent;font-size:0;background:var(--soft)}
.connector-logo{background-size:18px}

/* 8 - consistent 64px rows */
.item-row,.recent-item,.skill-row,.connector-row{min-height:64px;box-sizing:border-box}
.item-row,.recent-item{padding-top:12px;padding-bottom:12px}
.item-row,.recent-item{border-bottom-color:var(--ari-hair)}

/* 9 - one focus ring */
:where(button,a,input,textarea,select,[tabindex]):focus-visible{outline:2px solid #075e59;outline-offset:2px}

/* 10 - quieter numerals */
.usage-label,.usage-label span,.recent-item time,.mini-date,.plan-tag{font-variant-numeric:tabular-nums}
.usage-track{height:4px}

/* JASON - αόρατα φινιρίσματα πάνω στον Ari. Μόνο παρουσίαση, καμία λογική, κανένα κείμενο δεν αλλάζει. */
/* J1 - "Usage is loading..." -> skeleton. Ο κανόνας 6 του Ari στόχευε .usage-section>.quiet-note:only-child, που δεν υπάρχει στο DOM.
   Μετά από 8s χωρίς δεδομένα το skeleton σβήνει και επιστρέφει η πρόταση, ώστε να μη μείνει ποτέ αιώνιο φόρτωμα. */
.screen>.section-label+.j-live>.quiet-note:only-child{position:relative;min-height:78px;margin:0;color:transparent;animation:jason-reveal 0s linear 8s forwards}
.screen>.section-label+.j-live>.quiet-note:only-child::before{content:"";position:absolute;inset:8px 0 auto 0;height:62px;border-radius:8px;background:
 linear-gradient(90deg,var(--hair),var(--soft),var(--hair)) 0 0/100% 10px no-repeat,
 linear-gradient(90deg,var(--hair),var(--soft),var(--hair)) 0 26px/62% 10px no-repeat,
 linear-gradient(90deg,var(--hair),var(--soft),var(--hair)) 0 52px/38% 10px no-repeat;animation:ari-pulse 1.4s ease-in-out infinite,jason-hide 0s linear 8s forwards}
@keyframes jason-reveal{to{color:var(--ari-grey);min-height:0}}
@keyframes jason-hide{to{opacity:0;visibility:hidden}}

/* J2 - 12px όριο και ένα γκρι εκεί που ο Ari δεν έφτασε (pills, segmented, footer, "or", links, showroom) */
.pill,.segmented button,.footer,.nav-section-label,.design-rail .rail-divider span,.or,.bottom-link,.text-link,.plan-price small,.business-voice small,.voice-demo-card .eyebrow,.voice-demo-card small{font-size:12px!important}
.footer,.or,.design-rail .rail-divider span,.screen .bottom-link,.plan-price small,.login-title p,.pill.solid{color:var(--ari-grey)}
html[data-theme="dark"] .pill.solid{background:#29342e;color:#c8d8ce}
html[data-theme="dark"] .pill.green{background:var(--brand-mint,#1d302a);border-color:#2f4a40}

/* J3 - κεφαλαία μόνο στα αγγλικά, ώστε να μένουν οι τόνοι στα ελληνικά */
:lang(el) :is(.overline,.section-label,.category-label,.mini-date,.design-rail .rail-group,.nav-section-label,.recent-nav-group,.voice-demo-card .eyebrow){text-transform:none;letter-spacing:.2px}

/* J4 - τίτλοι ισορροπημένοι σε 2 γραμμές, κείμενα χωρίς ορφανές λέξεις */
h1,h2,.screen-head h1,.login-title h1{text-wrap:balance}
.screen-lead,.login-title p,.quiet-note,.usage-section-copy{text-wrap:pretty}

/* J5 - notch: η κεφαλίδα ψηλώνει όσο το safe-area, αντί να στριμώχνει τα κουμπιά. Το τελευταίο στοιχείο δεν κρύβεται πίσω από τη γραμμή home. */
@media(max-width:949px){.header{height:calc(78px + env(safe-area-inset-top))}.screen{padding-bottom:calc(32px + env(safe-area-inset-bottom))}}

/* J6 - επιλογή κειμένου, caret, autofill, tap highlight */
::selection{background:color-mix(in srgb,var(--accent) 24%,transparent);color:inherit}
input,textarea,[contenteditable]{caret-color:var(--accent)}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 40px #fff inset;caret-color:var(--accent)}
html[data-theme="dark"] input:-webkit-autofill,html[data-theme="dark"] input:-webkit-autofill:hover,html[data-theme="dark"] input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 40px var(--surface) inset}
a,[role="button"],[data-route],label,summary,input,select{-webkit-tap-highlight-color:transparent}

/* J7 - πεδία φόρμας με ορατό περίγραμμα 3:1 */
.mock-input,.topup-input-wrap{border-color:#8a9285}
html[data-theme="dark"] .mock-input,html[data-theme="dark"] .topup-input-wrap{border-color:#66706a}
.mock-input:focus,.topup-input-wrap:focus-within{border-color:var(--accent)}

/* J8 - hover / active με ήπια μετάβαση, ώστε κάθε πάτημα να δίνει απάντηση */
.text-link,.bottom-link,.social-button,.segmented button,.business-voice,.topup-option,.item-row,.skill-row,.connector-row,.mock-input{transition:color .16s ease,background-color .16s ease,border-color .16s ease,opacity .16s ease}
@media(hover:hover){
 .text-link:hover,.bottom-link:hover{text-decoration:underline;text-underline-offset:3px}
 .social-button:hover,.business-voice:hover,.segmented button:not(.selected):hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--hair))}
 .segmented button:not(.selected):hover{color:var(--ink)}
}
.text-link:active,.bottom-link:active,.social-button:active,.segmented button:active,.business-voice:active,.topup-option:active,.item-row:active,.skill-row:active,.connector-row:active{opacity:.72}

/* J9 - ο focus ring φαίνεται και στο σκούρο, και στα inputs που είχαν outline:0 το δείχνει το πλαίσιο τους */
html[data-theme="dark"] :where(button,a,input,textarea,select,[tabindex]):focus-visible{outline-color:var(--accent)}
.search-box:has(input:focus-visible),.topup-input-wrap:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}

/* J10 - σταθεροί αριθμοί σε τιμές και κουμπιά ποσών */
.plan-price,.plan-price strong,.topup-option,.topup-continue,.topup-input-wrap input,.usage-section{font-variant-numeric:tabular-nums}

/* J11 - εικόνες χωρίς άλμα layout */
.social-brand{flex:none;object-fit:contain}

/* J12 - λιγότερη κίνηση για όσους το ζητούν, σε όλη τη σελίδα */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* --- Εγκεκριμένα από George (14/10/2026) --- */
/* P1 - ένα primary ανά οθόνη: «Find your plan» δευτερεύον (outline) */
.primary.j-outline{background:transparent;color:#075e59;border:1px solid #075e59;box-shadow:none}
.primary.j-outline:hover{background:color-mix(in srgb,#075e59 8%,transparent)}
html[data-theme="dark"] .primary.j-outline{background:transparent;color:var(--accent);border-color:var(--accent)}
/* P2 - pinch-zoom επανήλθε: πεδία 16px στο κινητό ώστε το iOS να μην κάνει auto-zoom */
@media(max-width:949px){input:not([type="file"]):not([type="checkbox"]):not([type="radio"]),textarea,select{font-size:16px}}
/* P4 - aria-live wrapper χωρίς επίδραση στο layout */
.j-live{display:contents}
/* P5 - ενιαίο ύψος 48px· radius 16 για κουμπιά, 12 για πεδία */
.social-button{min-height:48px;padding:0 14px;border-radius:16px}
.topup-option{min-height:48px;border-radius:16px}
.topup-input-wrap,.mock-input{border-radius:12px}
/* P6 - λεπτή ορατή scrollbar μόνο στο desktop */
@media(min-width:950px) and (hover:hover){
 .screen,.app.conversation #screen{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--sub) 35%,transparent) transparent}
 .screen::-webkit-scrollbar,.app.conversation #screen::-webkit-scrollbar{display:block;width:8px}
 .screen::-webkit-scrollbar-thumb,.app.conversation #screen::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--sub) 35%,transparent);border-radius:8px}
}
/* Nóa Orbs στο chat: 20px orb στη θέση του σήματος της απάντησης (ίδιο αριστερό, ίδιο ύψος, ίδιο gap) */
.chat-pending{gap:7px;padding:0;min-height:20px;line-height:20px;animation:noa-orb-in .24s ease both}
.chat-pending-orb{width:20px;height:20px;flex:0 0 20px}
.chat-assistant.noa-orb-handoff{animation:noa-orb-in .28s ease both}
@keyframes noa-orb-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.chat-pending,.chat-assistant.noa-orb-handoff{animation:none}}

/* Fix: κάρτα αποτυχίας δημιουργίας. Το «Try again» έπεφτε στη στήλη του εικονιδίου (30px) και έβγαινε κάθετο. */
.chat-create-message>.chat-create-icon{grid-column:1;grid-row:1/span 3;align-self:start}
.chat-create-message>strong,.chat-create-message>span:not(.chat-create-icon),.chat-create-message>button{grid-column:2}
.chat-create-message>span:not(.chat-create-icon){font-size:12px;line-height:1.5}
.chat-create-message>button.secondary{justify-self:start;width:auto;max-width:none;min-height:40px;margin-top:8px;padding:0 18px;border-radius:16px;font-size:13px;white-space:nowrap}
/* Pixel Genesis (B, εγκρίθηκε 14/10/2026): πλαίσιο κάτω από το pill του .chat-create-loading, ίδιο πλάτος και radius με την κάρτα media του αποτελέσματος. */
.noa-genesis-frame{position:relative;width:min(560px,calc(100vw - 48px),calc(320px * var(--rn,1)));aspect-ratio:var(--ar,1/1);border:1px solid var(--hair);border-radius:17px;background:var(--surface);overflow:hidden;isolation:isolate;transition:opacity .32s ease}
.noa-genesis-frame.paper{background:#fbfbf8;width:min(calc(100vw - 48px),240px)}
.noa-genesis{position:absolute;inset:0;width:100%;height:100%;display:block}
.noa-genesis-frame.on-media{position:absolute;inset:0;z-index:1;width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:0;background:transparent;pointer-events:none}
.noa-genesis-frame.out{opacity:0}
.noa-genesis-frame.out.slow{transition-duration:.4s}
.noa-genesis-frame.collapse{transition:height .38s cubic-bezier(.2,.7,.2,1),margin .38s cubic-bezier(.2,.7,.2,1),opacity .2s ease;margin-bottom:-9px;opacity:0;border-width:0}
.chat-create-card[data-genesis]>*{transition:opacity .3s ease}
.chat-create-card.genesis-leaving>:not(.noa-genesis-frame){opacity:0}
.chat-create-card[data-genesis] .chat-create-loading>span{transition:opacity .22s ease,transform .22s ease}
.chat-create-card[data-genesis] .chat-create-loading>span.out{opacity:0;transform:translateY(3px)}
@media(max-width:949px){.noa-genesis-frame{width:min(calc(100vw - 48px),calc(240px * var(--rn,1)));border-radius:15px}.noa-genesis-frame.paper{width:min(calc(100vw - 48px),180px)}}
@media(prefers-reduced-motion:reduce){.noa-genesis-frame,.noa-genesis-frame.collapse,.chat-create-card[data-genesis]>*,.chat-create-card[data-genesis] .chat-create-loading>span{transition:none}}

/* Fix: κάρτα αρχείου (PDF/Word/Excel/website). Τα κουμπιά ήταν position:absolute και «πετούσαν» κάτω δεξιά στην οθόνη. */
.chat-file-card{display:flex;align-items:center;justify-content:space-between;gap:14px;width:min(100%,460px);padding:12px 12px 12px 14px;border:1px solid var(--hair);border-radius:16px;background:var(--surface)}
.chat-file-row{display:flex;align-items:center;gap:12px;min-width:0}
.chat-file-icon{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}
.chat-file-icon svg{width:20px;height:20px}
.chat-file-meta{display:grid;gap:2px;min-width:0}
.chat-file-meta strong{overflow:hidden;color:var(--ink);font-size:14px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}
.chat-file-meta span{color:var(--sub);font-size:12px}
.chat-file-card .create-result-actions{position:static;flex:none;display:flex;gap:6px}
.chat-file-card .create-result-actions a{min-height:36px;padding:0 14px;font-size:12px}
@media(max-width:420px){.chat-file-card{flex-wrap:wrap}.chat-file-card .create-result-actions{width:100%;justify-content:flex-end}}

/* Έγγραφο που ολοκληρώθηκε (PDF/Word/Excel): το χαρτί του Pixel Genesis μένει, ολόκληρο κουμπί που ανοίγει· από κάτω λεζάντα τίτλου + Open/Download (στυλ .create-result-actions). */
.chat-doc-card{display:grid;justify-items:start;gap:10px}
.chat-doc-paper{display:block;border-radius:17px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.chat-doc-paper .noa-genesis-frame{transition:border-color .2s ease,box-shadow .2s ease}
.chat-doc-paper:hover .noa-genesis-frame{border-color:color-mix(in srgb,var(--accent) 45%,var(--hair));box-shadow:0 6px 18px rgba(31,36,32,.08)}
.chat-doc-paper:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.noa-genesis-frame.settled{animation:noa-doc-settle .4s ease}
@keyframes noa-doc-settle{from{opacity:.55}to{opacity:1}}
.chat-doc-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(100%,460px)}
.chat-doc-caption p{display:flex;align-items:baseline;gap:6px;min-width:0;margin:0;font-size:14px}
.chat-doc-caption strong{overflow:hidden;color:var(--ink);font-weight:550;text-overflow:ellipsis;white-space:nowrap}
.chat-doc-caption span{flex:none;color:var(--sub);font-size:12px}
.chat-doc-caption .create-result-actions{position:static;flex:none;display:flex;gap:6px}
.chat-doc-caption .create-result-actions button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:34px;margin:0;padding:0 12px;border:1px solid var(--hair);border-radius:18px;background:var(--surface);color:var(--ink);font:inherit;font-size:11px;cursor:pointer}
@media(max-width:949px){.chat-doc-paper{border-radius:15px}}
@media(prefers-reduced-motion:reduce){.noa-genesis-frame.settled{animation:none}.chat-doc-paper .noa-genesis-frame{transition:none}}

/* George 14/10: τίτλος PDF μεγαλύτερος και τα Open/Download ακριβώς δίπλα του, χωρίς κενό. */
.chat-doc-caption{justify-content:flex-start;flex-wrap:wrap;gap:8px 14px;width:auto;max-width:min(100%,560px);margin-top:12px}
.chat-doc-caption p{font-size:17px}
.chat-doc-caption strong{font-weight:600;letter-spacing:-.01em}
.chat-doc-caption span{font-size:13px}

/* CALL-M - η οθόνη κλήσης του design-arena/call (εγκρίθηκε 14/10/2026), ΜΟΝΟ <950px. Το markup το βάζει το call-m.js μέσα στο .voice-page.
   Στο desktop δεν μπαίνει καν· τα παλιά στοιχεία (μέλισσα, wave, transcript, κουμπιά) κρύβονται μόνο όταν υπάρχει .call-m. Πάντα σκούρα, όπως το design. */
.call-m{display:none}
.voice-page.has-call-m>:not(.call-m){display:none}
@media(max-width:949px){
.call-m{--cm-bg:#0b0e0d;--cm-s:#151918;--cm-s2:#1c2120;--cm-line:#252b29;--cm-ink:#eef1ec;--cm-grey:#a3ada4;--cm-deep:#075e59;--cm-teal:#16867d;--cm-mint:#65c6b5;--cm-red:#e5484d;
  --cm-top:calc(env(safe-area-inset-top,0px) + 10px);--cm-bot:max(env(safe-area-inset-bottom,0px),12px);
  display:block;position:fixed;inset:0;z-index:30;overflow:hidden;background:var(--cm-bg);color:var(--cm-ink);text-align:start;color-scheme:dark}
body:has(.call-m) .mock-toast{z-index:31;position:fixed;left:16px;right:16px;bottom:calc(max(env(safe-area-inset-bottom,0px),12px) + 150px);padding:12px 16px;border-radius:16px;background:#1c2120;border:1px solid #252b29;box-shadow:none;color:#eef1ec;font-size:14px;line-height:1.45;text-align:center}
.call-m button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.call-m :focus-visible{outline:2px solid var(--cm-mint);outline-offset:2px}
.call-m .cm-i{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.call-m-main,.call-m-chat{position:absolute;inset:0;display:flex;flex-direction:column}
.call-m-main{background:radial-gradient(120% 60% at 50% 0%,#075e5947,transparent 62%),radial-gradient(90% 50% at 50% 100%,#16867d1f,transparent 70%),radial-gradient(circle at 11px 11px,#65c6b512 1.1px,transparent 1.7px) 0 0/22px 22px,radial-gradient(circle at 33px 33px,#65c6b50d 2px,transparent 2.8px) 0 0/66px 66px,var(--cm-bg)}
.call-m-chat{z-index:5;background:var(--cm-bg);transform:translateY(100%);visibility:hidden;transition:transform .42s cubic-bezier(.2,.8,.2,1),visibility 0s .42s}
.call-m.chat-on .call-m-chat{transform:none;visibility:visible;transition:transform .42s cubic-bezier(.2,.8,.2,1)}
.call-m-top{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--cm-top) + 4px) 16px 0}
.call-m-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#eef1ec14!important;border:1px solid #eef1ec12!important;transition:background .2s}
.call-m-btn:hover{background:#eef1ec24!important}
.call-m-btn[hidden]{display:none}
.call-m-who{text-align:center;padding:10px 24px 0}
.call-m-who h2{margin:0;display:inline-flex;align-items:center;gap:8px;font-size:28px;line-height:1.2;font-weight:500;letter-spacing:-.6px;color:#fff}
.call-m-badge{width:22px;height:22px;border-radius:50%;background:var(--cm-teal);display:grid;place-items:center;flex:none}
.call-m-badge .cm-i{width:15px;height:15px;stroke:#fff;stroke-width:2}
.call-m-state{margin:6px 0 0;font-size:15px;color:var(--cm-grey);font-variant-numeric:tabular-nums;min-height:23px}
.call-m-state .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cm-mint);margin:0 8px 2px 0;vertical-align:middle;opacity:0;transition:opacity .3s}
.call-m-state[data-s="listening"] .dot,.call-m-state[data-s="speaking"] .dot{opacity:1}
.call-m-muted{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:4px 10px;border-radius:999px;background:#e5484d24;color:#ffb3b5;font-size:12px}
.call-m-muted[hidden]{display:none}
.call-m-muted .cm-i{width:14px;height:14px}
.call-m-orb{flex:1;display:grid;place-items:center;min-height:0}
.call-m-ring{width:280px;height:280px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#075e5926 0,transparent 70%);box-shadow:inset 0 0 0 1px #65c6b514}
.call-m-ring canvas{width:280px;height:280px;display:block}
@media(max-height:700px){.call-m-ring,.call-m-ring canvas{width:220px;height:220px}}
.call-m-panel{margin:0 10px calc(var(--cm-bot) + 6px);padding:18px 12px 14px;border-radius:32px;background:#151918e6;border:1px solid #eef1ec0f;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;justify-content:space-around}
.call-m-act{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:76px;font-size:13px;color:var(--cm-grey)}
.call-m-act .c{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#eef1ec1a;color:var(--cm-ink);transition:background .2s,color .2s,transform .15s}
.call-m-act:hover .c{background:#eef1ec29}
.call-m-act:active .c{transform:scale(.94)}
.call-m-act[aria-pressed="true"] .c{background:var(--cm-ink);color:#0b0e0d}
.call-m-act[aria-pressed="true"]{color:var(--cm-ink)}
.call-m-act.end .c{background:var(--cm-red);color:#fff}
.call-m-act.end:hover .c{background:#d63c41}
.call-m-act:focus-visible{outline:none}
.call-m-act:focus-visible .c{outline:2px solid var(--cm-mint);outline-offset:3px}
.call-m-act[disabled]{opacity:.4;cursor:default}
.call-m-bar{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;padding:calc(var(--cm-top) - 2px) 16px 10px!important;background:var(--cm-deep)!important;color:#fff!important;font-size:15px;font-weight:500;font-variant-numeric:tabular-nums}
.call-m-bar:hover{background:#0a6d67!important}
.call-m-bar:focus-visible{outline-offset:-4px}
.call-m-bar canvas{width:24px;height:24px;display:block}
.call-m-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:20px 16px calc(var(--cm-bot) + 12px);display:flex;flex-direction:column;gap:18px}
.call-m-empty{margin:auto;color:var(--cm-grey);font-size:14px;text-align:center;max-width:250px}
.call-m-u{align-self:flex-end;max-width:80%;padding:10px 14px;border-radius:20px 20px 6px 20px;background:var(--cm-s2);font-size:15px;line-height:1.45}
.call-m-n{max-width:94%}
.call-m-n .brand{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;margin-bottom:4px}
.call-m-n .brand .cm-i{width:16px;height:16px;stroke:var(--cm-mint)}
.call-m-n .brand .live{font-size:12px;font-weight:400;color:var(--cm-mint);margin-left:4px}
.call-m-n .brand .live[hidden]{display:none}
.call-m-n p{margin:0;font-size:15px;line-height:1.55;color:#e2e6e0}
/* 21/10 κάμερα (design-arena/camera-lab, George: «μου άρεσε, εφάρμοσέ το»): πλήρης οθόνη, η σφαίρα ζωντανή στη γωνία,
   μεγάλοι αριθμοί 176px με τη γραμμή υποτίτλων, κουμπί λήψης 80px. Πάντα σκοτεινή, όπως όλη η κλήση. */
.call-m .sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.call-m-cam{position:absolute;inset:0;z-index:30;background:#050606;display:flex;flex-direction:column}
.call-m-cam[hidden]{display:none}
.call-m-cam .view{flex:1;min-height:0;margin:calc(var(--cm-top) + 4px) 10px 0;border-radius:28px;position:relative;overflow:hidden;background:#0c100f}
.call-m-cam video,.call-m-cam .still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.call-m-cam video.mirror{transform:scaleX(-1)}
.call-m-cam .still[hidden]{display:none}
.call-m-cam .seeing{position:absolute;top:22px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#0b0e0dcc;font-size:14px;line-height:18px;white-space:nowrap}
.call-m-cam .seeing i{width:8px;height:8px;border-radius:50%;background:var(--cm-mint);box-shadow:0 0 0 4px #65c6b533}
.call-m-cam .cm-x{position:absolute;top:14px;left:12px;z-index:4;background:#0b0e0dcc!important}
.call-m-cam .num{position:absolute;inset:0;display:grid;place-items:center;font-size:176px;line-height:1;font-weight:600;letter-spacing:-.05em;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 6px 40px #00000073;pointer-events:none;opacity:0}
.call-m-cam .num.on{opacity:1}
.call-m-cam .cm-cap{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);max-width:calc(100% - 32px);margin:0;padding:8px 14px;border-radius:999px;background:#0b0e0dcc;font-size:14px;line-height:18px;color:var(--cm-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.call-m-cam .cm-cap:empty{display:none}
.call-m-cam .cm-cap b{color:var(--cm-mint);font-weight:500;margin-right:6px}
.call-m-cam .flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:3}
.call-m-cam .cm-deny{position:absolute;inset:0;z-index:2;display:grid;align-content:center;justify-items:center;gap:10px;padding:24px;text-align:center;background:radial-gradient(80% 50% at 50% 40%,#075e5933,transparent 70%),#0c100f}
.call-m-cam .cm-deny[hidden]{display:none}
.call-m-cam.is-fail .cm-deny{background:radial-gradient(closest-side,#0c100fe6,#0c100fb3)}
.call-m-cam.is-deny .seeing,.call-m-cam.is-fail .seeing{display:none}
.call-m-cam .cm-deny .ico{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#eef1ec1a;margin-bottom:6px}
.call-m-cam .cm-deny strong{font-size:18px;line-height:1.35;font-weight:600;color:var(--cm-ink)}
.call-m-cam .cm-deny p{margin:0;font-size:14px;line-height:1.5;color:var(--cm-grey);max-width:260px}
.call-m .cm-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px!important;border-radius:999px;background:#08756e!important;color:#fff!important;font-size:14px;font-weight:500;margin-top:6px}
.call-m .cm-pill:hover{background:#0a6d67!important}
.call-m .cm-pill.ghost{background:transparent!important;color:var(--cm-ink)!important;box-shadow:inset 0 0 0 1px #eef1ec40}
.call-m .cm-pill.ghost:hover{background:#eef1ec14!important}
.call-m-cam.is-fail .cm-hint{visibility:hidden}
.call-m-cam .cm-hint{text-align:center;font-size:13px;line-height:18px;color:var(--cm-grey);margin:12px 16px 0;min-height:18px}
.call-m-cam .cm-ctl{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 26px calc(var(--cm-bot) + 10px)}
.call-m-cam .cm-ctl .call-m-btn{justify-self:end}
.call-m-cam .cm-shutter{width:80px;height:80px;border-radius:50%;border:4px solid #fff!important;display:grid;place-items:center}
.call-m-cam .cm-shutter span{width:62px;height:62px;border-radius:50%;background:#fff;transition:transform .12s}
.call-m-cam .cm-shutter:active span{transform:scale(.9)}
.call-m-cam .cm-shutter[disabled]{opacity:.4;cursor:default}
.call-m-cam .cm-shutter.tick span{animation:cmTick .3s cubic-bezier(.32,.72,0,1)}
@keyframes cmTick{40%{transform:scale(.88)}}
.call-m-cam .cm-shutter:focus-visible{outline-offset:4px}
/* η σφαίρα γίνεται το μικρό ζωντανό orb της γωνίας: ίδιο canvas, ίδιο Lumen, μόνο transform (FLIP από τη θέση της) */
.call-m .call-m-ring{transition:transform .52s cubic-bezier(.32,.72,0,1)}
.call-m.cam-on .call-m-ring{z-index:32;pointer-events:none;background:none;box-shadow:none;transform:translate(var(--cm-dx,0),var(--cm-dy,0)) scale(var(--cm-k,.35));transition:transform .56s cubic-bezier(.32,.72,0,1)}
.call-m.cam-on .call-m-op{visibility:hidden}
.call-m .cm-flyer{position:fixed;z-index:40;pointer-events:none;background-size:cover;background-position:center;border-radius:15px;box-shadow:0 22px 48px -18px #00000099,0 0 0 1px #ffffff26}
}
/* 21/10 (orb-lab D): η λέξη της λειτουργίας κάτω από τη σφαίρα (ακτίνα σφαίρας = 33% του δαχτυλιδιού). Δεν πιάνει χώρο, το orb δεν μετακινείται.
   Το πιο ήσυχο κείμενο της οθόνης: χωρίς glow/σκιά/χρώμα. Έξοδος 160 ms προς τα πάνω, είσοδος 280 ms με την καμπύλη της Nóa. */
.call-m-ring{position:relative}
.call-m-op{position:absolute;left:10%;right:10%;top:calc(83% + 12px);height:18px;margin:0;text-align:center;font-size:13px;line-height:18px;font-weight:500;letter-spacing:.01em;color:#b4bdb5;white-space:nowrap;pointer-events:none;
  transition:opacity .28s cubic-bezier(.32,.72,0,1),transform .28s cubic-bezier(.32,.72,0,1)}
.call-m-op.is-out{opacity:0;transform:translateY(-4px);transition-duration:.16s;transition-timing-function:cubic-bezier(.4,0,1,1)}
.call-m-op.is-pre{opacity:0;transform:translateY(4px);transition:none}
@media(prefers-reduced-motion:reduce){.call-m .call-m-op,.call-m .call-m-op.is-out{transform:none!important;transition:opacity .12s linear!important}.call-m .call-m-op.is-pre{transform:none!important;transition:none!important}}
@media(max-width:949px) and (prefers-reduced-motion:reduce){.call-m *,.call-m *::before{transition-duration:0s!important;animation:none!important}}
/* CALL-M DESKTOP (≥950px) - design-arena/call-desktop v2 (εγκρίθηκε 15/10/2026). Πιάνει ΜΟΝΟ τον χώρο δεξιά από το sidebar (left = --rail-width)·
   το sidebar και το υπόλοιπο site δεν αλλάζουν. Ακολουθεί το θέμα (light/dark) του site. */
@media(min-width:950px){
.call-m.is-desk{--d-bg:#fff;--d-s:#f7f8f5;--d-s2:#eef1ea;--d-line:#e4e8dd;--d-ink:#1d231b;--d-grey:#5f665a;--d-acc:#1f6f5c;--d-cta:#24402f;--d-cta-h:#2f5640;--d-red:#d63c41;--d-red-h:#c02f34;--d-glass:#ffffffeb;--d-orb:#16867d1a;
  display:grid;grid-template-columns:minmax(0,1fr) 0;position:fixed;top:0;bottom:0;right:0;left:var(--rail-width,248px);z-index:2;overflow:hidden;color:var(--d-ink);text-align:start;
  background:radial-gradient(70% 55% at 50% 38%,var(--d-orb),transparent 70%),var(--d-bg);transition:grid-template-columns .45s cubic-bezier(.2,.8,.2,1),left .22s ease;color-scheme:light}
html[data-theme="dark"] .call-m.is-desk{--d-bg:#101311;--d-s:#171c19;--d-s2:#202622;--d-line:#2a302c;--d-ink:#edf1ec;--d-grey:#a5ada6;--d-acc:#65c6b5;--d-cta:#0a6d67;--d-cta-h:#0d807a;--d-red:#e5484d;--d-red-h:#f0565b;--d-end:#d93942;--d-end-h:#c02f34;--d-glass:#171c19e6;--d-orb:#075e5933;color-scheme:dark}
.call-m.is-desk.chat-on{grid-template-columns:minmax(0,1fr) 400px}
.call-m.is-desk button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.call-m.is-desk :focus-visible{outline:2px solid var(--d-acc);outline-offset:2px}
.call-m.is-desk .cm-i{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.call-m.is-desk .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.is-desk .call-m-main{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center}
.is-desk .call-m-who{margin-top:56px;text-align:center;padding:0 24px}
.is-desk .call-m-who h2{margin:0;display:inline-flex;align-items:center;gap:10px;font-size:32px;line-height:1.2;font-weight:500;letter-spacing:-.8px;color:var(--d-ink)}
.is-desk .call-m-badge{width:26px;height:26px;border-radius:50%;background:var(--d-acc);color:var(--d-bg);display:grid;place-items:center;flex:none}
.is-desk .call-m-badge .cm-i{width:17px;height:17px;stroke-width:2}
.is-desk .call-m-state{margin:6px 0 0;font-size:15px;color:var(--d-grey);min-height:24px;font-variant-numeric:tabular-nums;max-width:560px}
.is-desk .call-m-state .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--d-acc);margin:0 8px 2px 0;vertical-align:middle;opacity:0;transition:opacity .3s}
.is-desk .call-m-state[data-s="listening"] .dot,.is-desk .call-m-state[data-s="speaking"] .dot{opacity:1}
.is-desk .call-m-state[data-s="error"]{color:var(--d-red)}
.is-desk .call-m-time[hidden]{display:none}
.is-desk .call-m-muted{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:4px 12px;border-radius:999px;background:#e5484d24;color:var(--d-red);font-size:12px}
html[data-theme="dark"] .is-desk .call-m-muted{color:#ffb3b5}
.is-desk .call-m-muted[hidden]{display:none}
.is-desk .call-m-muted .cm-i{width:14px;height:14px}
.is-desk .call-m-zone{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;padding:0 24px 120px}
.is-desk .call-m-ring{flex:none;width:250px;height:250px;border-radius:50%;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--d-acc) 14%,transparent)}
.is-desk .call-m-ring canvas{width:100%;height:100%;display:block}
.is-desk .call-m-op{font-size:14px;line-height:20px;height:20px;color:var(--d-grey)}
/* 21/10 κάμερα (design-arena/camera-lab): μια μικρή παλιά τηλεόραση δεμένη στη σφαίρα με λεπτό καλώδιο. Ιβουάρ στο φωτεινό, γραφίτης στο σκοτεινό.
   Βγαίνει από πίσω από τη σφαίρα (η σφαίρα μικραίνει), ανάβει με τη γραμμή του καθοδικού, σβήνει σαν παλιά οθόνη. */
.call-m.is-desk{--tv-shell-a:#f7f2e7;--tv-shell-b:#e5ddcc;--tv-line:#d3c8b1;--tv-hi:#ffffffcc;--tv-ink:#5b5444;--tv-slot:#b9ae96;--tv-knob-a:#fdfaf3;--tv-knob-b:#d8cfbb;--tv-bezel-a:#0d100f;--tv-bezel-b:#1f2423;--tv-glass:#040605;--tv-led-off:#7d7464;--tv-phos:#f2fffb;--tv-drop:#1018146b;--tv-cable:#16867d;--tv-plug:#cfc5ae}
html[data-theme="dark"] .call-m.is-desk{--tv-shell-a:#2b3232;--tv-shell-b:#1a1f1f;--tv-line:#353e3c;--tv-hi:#ffffff1f;--tv-ink:#a3ada4;--tv-slot:#0c0f0e;--tv-knob-a:#434b4a;--tv-knob-b:#1f2524;--tv-bezel-a:#060807;--tv-bezel-b:#111514;--tv-led-off:#4a524f;--tv-drop:#000000b3;--tv-cable:#65c6b5;--tv-plug:#3a4342}
.is-desk .call-m-main{container:cmmain/inline-size}
.is-desk .call-m-zone{position:relative;--tvw:384px;--tvpad:14px;--tvside:52px;--tvgap:12px;--tvh:calc((var(--tvw) - 2*var(--tvpad) - var(--tvside) - var(--tvgap) - 12px)*.75 + 2*var(--tvpad) + 64px)}
.is-desk .call-m-ring{position:relative;z-index:2;transition:width .42s cubic-bezier(.32,.72,0,1),height .42s cubic-bezier(.32,.72,0,1)}
.is-desk .cm-cable{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible}
.is-desk .cm-cable stop{stop-color:var(--tv-cable)}
.is-desk .cm-cable .cable-plug{fill:var(--tv-plug)}
.is-desk .cm-cable circle{fill:var(--tv-cable)}
.is-desk .call-m-cam{position:relative;z-index:1;flex:none;width:0;height:var(--tvh);visibility:hidden;transition:width .42s cubic-bezier(.32,.72,0,1),visibility 0s .42s}
.is-desk .call-m-cam[hidden]{display:none}
.is-desk.cam-on .call-m-cam{width:calc(var(--tvw) + 52px);visibility:visible;transition:width .42s cubic-bezier(.32,.72,0,1)}
.is-desk .tv-pos{position:absolute;right:0;top:50%;transform:translateY(-50%);width:var(--tvw)}
.is-desk .tv{position:relative;width:var(--tvw)}
.is-desk .tv-body{position:relative;display:flex;gap:var(--tvgap);padding:var(--tvpad) var(--tvpad) calc(var(--tvpad) + 12px);border-radius:28px;background:linear-gradient(180deg,var(--tv-shell-a),var(--tv-shell-b));
  box-shadow:inset 0 1px 0 var(--tv-hi),inset 0 -2px 0 #0000000f,0 0 0 1px var(--tv-line),0 2px 4px #0000000f,0 28px 50px -26px var(--tv-drop)}
.is-desk .tv-body::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(55% 80% at -6% 52%,color-mix(in srgb,#65c6b5 26%,transparent),transparent 62%)}
.is-desk .tv-bezel{position:relative;flex:1;min-width:0;padding:6px;border-radius:30px/34px;background:linear-gradient(180deg,var(--tv-bezel-a),var(--tv-bezel-b));box-shadow:inset 0 2px 4px #000000a6,inset 0 -1px 0 #ffffff12,0 1px 0 var(--tv-hi)}
.is-desk .tv-screen{position:relative;aspect-ratio:4/3;border-radius:24px/28px;overflow:hidden;background:var(--tv-glass);isolation:isolate}
.is-desk .tv-pic{position:absolute;inset:0;transform-origin:50% 50%}
.is-desk .tv-pic video,.is-desk .tv-pic .still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.07) saturate(1.06)}
.is-desk .tv-pic video.mirror{transform:scaleX(-1)}
.is-desk .tv-pic .still[hidden]{display:none}
.is-desk .tv .grain{position:absolute;inset:0;width:100%;height:100%;opacity:.09;mix-blend-mode:screen;pointer-events:none}
.is-desk .tv .scan{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,#00000047 0 1px,transparent 1px 3px);opacity:.6}
.is-desk .tv .roll{position:absolute;left:0;right:0;top:-30%;height:30%;pointer-events:none;background:linear-gradient(180deg,transparent,#d8f1ea12,transparent);animation:cmRoll 7s linear infinite}
@keyframes cmRoll{to{transform:translateY(434%)}}
.is-desk .tv .vig{position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 46px 10px #000000a3,inset 0 0 0 1px #000000a3}
.is-desk .tv .glass{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 70% at 28% -4%,#ffffff26,transparent 46%),linear-gradient(160deg,#ffffff12,transparent 38%)}
.is-desk .tv .flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:3}
.is-desk .tv-glow{position:absolute;left:5%;right:5%;top:50%;height:2px;margin-top:-1px;border-radius:2px;background:var(--tv-phos);box-shadow:0 0 12px 3px #d8f1eae6,0 0 30px 8px #65c6b580;opacity:0;pointer-events:none}
.is-desk .tv .seeing{position:absolute;top:10px;left:12px;display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;background:#0b0e0dcc;color:#eef1ec;font-size:12px;line-height:16px;z-index:1}
.is-desk .tv .seeing i{width:7px;height:7px;border-radius:50%;background:#65c6b5;box-shadow:0 0 0 3px #65c6b533}
.is-desk .tv .num{position:absolute;inset:0;display:grid;place-items:center;font-size:108px;line-height:1;font-weight:600;letter-spacing:-.04em;color:var(--tv-phos);font-variant-numeric:tabular-nums;pointer-events:none;opacity:0;text-shadow:-2px 0 #ff5a5a59,2px 0 #5ac8ff59,0 0 26px #d8f1eabf}
.is-desk .tv .num.on{opacity:1}
.is-desk .tv .cm-deny{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:6px;padding:14px;text-align:center;background:radial-gradient(closest-side,#040605e6,#04060599);color:#eef1ec}
.is-desk .tv .cm-deny[hidden]{display:none}
.is-desk .tv .cm-deny strong{font-size:14px;line-height:1.35;font-weight:600}
.is-desk .tv .cm-deny p{margin:0;font-size:12px;line-height:1.45;color:#c9d0ca;max-width:240px}
.is-desk .cm-pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px!important;border-radius:999px;background:#08756e!important;color:#fff!important;font-size:14px;font-weight:500;margin-top:6px}
.is-desk .cm-pill:hover{background:#0a6d67!important}
.is-desk .tv.is-deny video,.is-desk .tv.is-deny .seeing,.is-desk .tv.is-deny .roll,.is-desk .tv.is-deny .still,.is-desk .tv.is-fail .seeing{display:none}
.is-desk .tv.is-deny .grain{opacity:.5;mix-blend-mode:normal;image-rendering:pixelated}
.is-desk .tv-side{width:var(--tvside);flex:none;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:6px 0 2px;position:relative}
.is-desk .tv .led{width:8px;height:8px;border-radius:50%;background:var(--tv-led-off);box-shadow:inset 0 1px 1px #00000080;transition:background .18s,box-shadow .18s}
.is-desk .tv.is-on .led{background:#65c6b5;box-shadow:0 0 0 3px #65c6b52e,0 0 10px #65c6b5e6}
.is-desk .tv.is-count .led{background:#fadba8;box-shadow:0 0 0 3px #fadba833,0 0 12px #fadba8}
.is-desk .tv.is-deny .led,.is-desk .tv.is-fail .led{background:#e5484d;box-shadow:0 0 8px #e5484d99}
.is-desk .tv .knob{position:relative;width:38px;height:38px;border-radius:50%;transform:rotate(var(--k,0deg));transition:transform .24s cubic-bezier(.32,.72,0,1);
  background:repeating-conic-gradient(from 0deg,#00000017 0 4deg,transparent 4deg 12deg),radial-gradient(circle at 35% 30%,var(--tv-knob-a),var(--tv-knob-b));box-shadow:0 2px 3px #00000040,inset 0 1px 0 var(--tv-hi),0 0 0 1px var(--tv-line)}
.is-desk .tv .knob i{position:absolute;left:50%;top:4px;width:3px;height:11px;margin-left:-1.5px;border-radius:2px;background:var(--tv-ink)}
.is-desk .tv .shutter{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 40% 35%,var(--tv-knob-a),var(--tv-knob-b));box-shadow:0 2px 3px #00000040,inset 0 1px 0 var(--tv-hi),0 0 0 1px var(--tv-line);transition:transform .12s}
.is-desk .tv .shutter span{width:18px;height:18px;border-radius:50%;background:#08756e;box-shadow:0 0 0 3px #08756e40}
.is-desk .tv .shutter:active{transform:translateY(1px) scale(.96)}
.is-desk .tv .shutter[disabled]{cursor:default;opacity:.55}
.is-desk .tv .grille{display:grid;gap:4px;width:30px}
.is-desk .tv .grille i{height:3px;border-radius:2px;background:var(--tv-slot);box-shadow:0 1px 0 var(--tv-hi)}
.is-desk .tv-plate{position:absolute;left:calc(var(--tvpad) + 12px);bottom:5px;font-size:12px;line-height:16px;font-weight:600;letter-spacing:.02em;color:var(--tv-ink)}
.is-desk .tv-feet{position:absolute;left:16%;right:16%;bottom:-8px;height:9px;display:flex;justify-content:space-between;z-index:-1}
.is-desk .tv-feet i{width:36px;height:9px;border-radius:0 0 8px 8px;background:linear-gradient(180deg,var(--tv-shell-b),var(--tv-line))}
.is-desk .tv-x{position:absolute;top:-16px;right:-16px;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid var(--d-line)!important;background:var(--d-glass)!important;color:var(--d-ink);display:grid;place-items:center;box-shadow:0 6px 16px -8px #00000059;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.is-desk .tv-x:hover{background:var(--d-s2)!important}
.is-desk .tv-x .cm-i{width:20px;height:20px}
.is-desk .tv-x.tv-flip{right:36px}
.is-desk .tv-x[hidden]{display:none}
.is-desk .tv-bloom{position:absolute;inset:-60px;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,#ffffffd9,#d8f1ea66 45%,transparent 75%);opacity:0;z-index:4}
.is-desk .call-m-cam.is-fail .cm-hint{visibility:hidden}
.is-desk .tv .cm-hint{margin:18px 4px 0;font-size:13px;line-height:1.4;color:var(--d-grey);text-align:center}
.is-desk .cm-flyer{position:fixed;z-index:40;pointer-events:none;background-size:cover;background-position:center;border-radius:15px;box-shadow:0 22px 48px -18px #00000099,0 0 0 1px #ffffff26}
.is-desk .call-m-dbar{position:absolute;left:50%;bottom:36px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:8px;border-radius:999px;background:var(--d-glass);border:1px solid var(--d-line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 40px -18px #0006;z-index:5}
.is-desk .call-m-b{position:relative;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--d-s2);color:var(--d-ink);transition:background .2s,color .2s,transform .15s}
.is-desk .call-m-b:hover{background:color-mix(in srgb,var(--d-ink) 16%,var(--d-s2))}
.is-desk .call-m-b:active{transform:scale(.94)}
.is-desk .call-m-b[aria-pressed="true"]{background:var(--d-ink);color:var(--d-bg)}
.is-desk .call-m-b.end{display:inline-flex;align-items:center;width:auto;padding:0 22px;gap:8px;background:var(--d-end,var(--d-red));color:#fff;font-size:14px;font-weight:500;border-radius:999px}
.is-desk .call-m-b.end:hover{background:var(--d-end-h,var(--d-red-h))}
.is-desk .call-m-b[disabled]{opacity:.4;cursor:default}
.is-desk .call-m-b[disabled]:hover{background:var(--d-s2)}
.is-desk .call-m-sep{width:1px;height:28px;background:var(--d-line);margin:0 4px}
.is-desk [data-tip]::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%,4px);white-space:nowrap;padding:6px 10px;border-radius:8px;background:var(--d-ink);color:var(--d-bg);font-size:12px;line-height:1.3;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}
.is-desk [data-tip]:hover::after,.is-desk [data-tip]:focus-visible::after{opacity:1;transform:translate(-50%,0)}
.is-desk .call-m-again{position:absolute;left:50%;bottom:116px;transform:translateX(-50%);z-index:5}
.is-desk .call-m-again[hidden]{display:none}
.is-desk .call-m-retry{min-height:48px;padding:0 28px!important;border-radius:14px;background:var(--d-cta)!important;color:#fff!important;font-size:15px;font-weight:500}
.is-desk .call-m-retry:hover{background:var(--d-cta-h)!important}
.is-desk .call-m-chat{position:relative;min-width:0;overflow:hidden;border-left:1px solid var(--d-line);background:var(--d-bg);visibility:hidden;transition:visibility 0s .45s}
.is-desk.chat-on .call-m-chat{visibility:visible;transition:none}
.is-desk .call-m-side{width:400px;height:100%;display:flex;flex-direction:column;opacity:0;transform:translateX(32px);transition:opacity .3s,transform .45s cubic-bezier(.2,.8,.2,1)}
.is-desk.chat-on .call-m-side{opacity:1;transform:none;transition-delay:.08s}
.is-desk .call-m-side-h{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 12px 24px;border-bottom:1px solid var(--d-line)}
.is-desk .call-m-side-h h3{margin:0;font-size:16px;font-weight:500;color:var(--d-ink)}
.is-desk .call-m-side-h .call-m-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--d-grey)}
.is-desk .call-m-side-h .call-m-btn:hover{background:var(--d-s2);color:var(--d-ink)}
.is-desk .call-m-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px;display:flex;flex-direction:column;gap:20px}
.is-desk .call-m-empty{margin:auto;color:var(--d-grey);font-size:14px;text-align:center;max-width:270px}
.is-desk .call-m-u{align-self:flex-end;max-width:85%;padding:10px 14px;border-radius:20px 20px 6px 20px;background:var(--d-s2);font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.is-desk .call-m-n{max-width:96%}
.is-desk .call-m-n .brand{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;margin-bottom:4px}
.is-desk .call-m-n .brand .cm-i{width:16px;height:16px;stroke:var(--d-acc)}
.is-desk .call-m-n .brand .live{font-size:12px;font-weight:400;color:var(--d-acc);margin-left:4px}
.is-desk .call-m-n .brand .live[hidden]{display:none}
.is-desk .call-m-n p{margin:0;font-size:15px;line-height:1.55;overflow-wrap:anywhere}
body:has(.call-m.is-desk) .mock-toast{position:fixed;z-index:6;left:calc(var(--rail-width,248px) + 24px);right:24px;bottom:128px;margin:0 auto;width:max-content;max-width:420px;padding:10px 16px;border-radius:14px;background:#202622;border:1px solid #2a302c;color:#edf1ec;font-size:13px;text-align:center;box-shadow:none}
body:has(.call-m.is-desk .call-m-again:not([hidden])) .mock-toast{bottom:184px}
}
@media(min-width:950px) and (max-width:1199px){.is-desk.chat-on .call-m-ring{width:200px;height:200px}}
@media(min-width:950px) and (max-height:700px){.is-desk .call-m-who{margin-top:28px}.is-desk .call-m-zone{padding-bottom:104px}.is-desk .call-m-ring{width:200px;height:200px}.is-desk .call-m-dbar{bottom:20px}.is-desk .call-m-again{bottom:96px}}
/* κάμερα ανοιχτή: η σφαίρα μικραίνει· σε στενό χώρο (transcript ανοιχτό σε 950–1199) η τηλεόραση μικραίνει, και πιο κάτω μπαίνει κάτω από τη σφαίρα */
@media(min-width:950px){
.is-desk.cam-on .call-m-ring{width:200px;height:200px}
@container cmmain (max-width:759px){.is-desk .call-m-zone{--tvw:320px;--tvside:46px;--tvgap:10px}.is-desk.cam-on .call-m-ring{width:170px;height:170px}}
@container cmmain (max-width:599px){
  .is-desk .call-m-zone{flex-direction:column;padding-left:12px;padding-right:12px;--tvw:min(310px,calc(100cqw - 40px));--tvpad:12px;--tvside:44px;--tvgap:10px}
  .is-desk .call-m-cam{width:100%;height:0;transition:height .42s cubic-bezier(.32,.72,0,1),visibility 0s .42s}
  .is-desk.cam-on .call-m-cam{width:100%;height:calc(var(--tvh) + 28px);transition:height .42s cubic-bezier(.32,.72,0,1)}
  .is-desk .tv-pos{top:auto;bottom:0;right:auto;left:50%;transform:translateX(-50%)}
  .is-desk .tv .num{font-size:84px}
  .is-desk.cam-on .call-m-ring{width:150px;height:150px}
  .is-desk .tv-x{right:-6px}.is-desk .tv-x.tv-flip{right:46px}}
}
@media(min-width:950px) and (prefers-reduced-motion:reduce){.call-m.is-desk,.call-m.is-desk *,.call-m.is-desk *::before,.call-m.is-desk *::after{transition-duration:0s!important;transition-delay:0s!important;animation:none!important}}


/* SITE-WS - Create → Website (design-arena/create-website-v2, εγκρίθηκε 15/10/2026). Markup από το app-site.js. Ακολουθεί light/dark. */
.screen:not([hidden]):has(>.site-ws){padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column}
.site-ws{--w-bg:#fff;--w-rail:#fafbf8;--w-s:#f7f8f5;--w-s2:#eef1ea;--w-line:#e4e8dd;--w-ink:#1d231b;--w-grey:#5f665a;--w-acc:#1f6f5c;--w-cta:#075e59;--w-cta-h:#0a6d67;--w-glass:#ffffffeb;--w-orb:#16867d1a;--w-red:#c02f34;
  flex:1;min-height:0;height:100%;position:relative;color:var(--w-ink);background:radial-gradient(60% 45% at 50% 30%,var(--w-orb),transparent 70%),var(--w-bg);text-align:start}
html[data-theme="dark"] .site-ws{--w-bg:#101311;--w-rail:#0d100e;--w-s:#171c19;--w-s2:#202622;--w-line:#2a302c;--w-ink:#edf1ec;--w-grey:#a5ada6;--w-acc:#65c6b5;--w-cta:#075e59;--w-cta-h:#0a6d67;--w-glass:#171c19e6;--w-orb:#075e5933;--w-red:#ff8a8d}
.site-ws button,.site-ws textarea{font-family:inherit;color:inherit;line-height:inherit}
.site-ws button{background:none;border:0;padding:0;cursor:pointer}
.site-ws :focus-visible{outline:2px solid var(--w-acc);outline-offset:2px}
.site-ws .i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.site-ws .i.sm{width:12px;height:12px}
.site-ws .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-ws [hidden]{display:none!important}
.site-start{height:100%;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px}
.site-start .overline{font-size:11px;letter-spacing:1.4px;color:var(--w-grey);margin:0 0 10px}
.site-start h1{margin:0 0 24px!important;font-size:32px!important;line-height:1.2;font-weight:500;letter-spacing:-.8px;text-align:center}
.site-box{width:100%;max-width:680px;background:var(--w-glass);border:1px solid var(--w-line);border-radius:22px;padding:14px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 40px -24px #0006}
.site-box:focus-within{border-color:var(--w-acc)}
.site-box textarea{display:block;width:100%;min-height:96px;resize:none;border:0;background:none;outline:none;font-size:15px;line-height:1.55;padding:4px 6px}
.site-box.sm textarea{min-height:52px;font-size:14px}
.site-box textarea::placeholder{color:var(--w-grey)}
.site-box textarea:disabled{opacity:.5}
.site-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px}
.site-note{font-size:12px;color:var(--w-grey);padding-left:6px}
.site-send{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--w-cta)!important;color:#fff!important;flex:none}
.site-send:hover{background:var(--w-cta-h)!important}
.site-send:disabled{opacity:.4;cursor:default}
.site-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:680px;margin-top:18px}
.site-chip{min-height:44px;padding:0 16px!important;border-radius:999px;border:1px solid var(--w-line)!important;background:var(--w-s)!important;font-size:13px}
.site-chip:hover:not(:disabled){background:var(--w-s2)!important;border-color:var(--w-acc)!important}
.site-chip:disabled{opacity:.45;cursor:default}
.site-work{height:100%;display:grid;grid-template-columns:380px minmax(0,1fr)}
.site-tabs{display:none}
.site-chat{display:flex;flex-direction:column;border-right:1px solid var(--w-line);min-height:0;background:var(--w-rail)}
.site-log{flex:1;overflow:auto;padding:20px 18px;display:flex;flex-direction:column;gap:14px}
.site-me{align-self:flex-end;max-width:92%;background:var(--w-s2);border-radius:16px 16px 4px 16px;padding:10px 14px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.site-noa{display:flex;gap:10px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.site-noa.warn>div{color:var(--w-red)}
.site-av{width:28px;height:28px;flex:none;border-radius:50%;background:var(--w-acc);color:var(--w-bg);display:grid;place-items:center;font-size:12px;font-weight:600}
.site-steps{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.site-steps li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--w-grey)}
.site-steps li i{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--w-line);display:grid;place-items:center;flex:none}
.site-steps li.run{color:var(--w-ink)}
.site-steps li.run i{border-color:var(--w-acc);border-top-color:transparent;animation:siteSpin .8s linear infinite}
.site-steps li.ok{color:var(--w-ink)}
.site-steps li.ok i{background:var(--w-acc);border-color:var(--w-acc);color:var(--w-bg)}
.site-steps li.ok i::after{content:"";width:5px;height:9px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.site-steps li.bad i{border-color:var(--w-red)}
@keyframes siteSpin{to{transform:rotate(360deg)}}
.site-compose{padding:12px 14px 14px;border-top:1px solid var(--w-line)}
.site-chips.sm{justify-content:flex-start;margin:10px 0 0}
.site-chips.sm .site-chip{font-size:12px;padding:0 12px!important}
.site-lbl{display:block;font-size:12px;color:var(--w-grey);margin:0 0 6px 4px}
.site-view{display:flex;flex-direction:column;min-width:0;min-height:0;padding:16px}
.site-tools{display:flex;align-items:center;gap:4px;padding:0 0 12px;flex-wrap:wrap}
.site-seg{display:flex;background:var(--w-s);border:1px solid var(--w-line);border-radius:12px;padding:2px}
.site-seg button{width:44px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--w-grey)}
.site-seg button[aria-pressed="true"]{background:var(--w-bg)!important;color:var(--w-ink);box-shadow:0 1px 3px #0002}
.site-sp{flex:1}
.site-tb{min-height:44px;padding:0 12px!important;border-radius:12px;display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--w-ink)!important;text-decoration:none}
.site-tb:hover:not(:disabled):not(.off){background:var(--w-s2)!important}
.site-tb:disabled,.site-tb.off{opacity:.4;cursor:default;pointer-events:none}
.site-browser{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--w-line);border-radius:14px;overflow:hidden;background:var(--w-s);margin:0 auto;width:100%;transition:width .4s cubic-bezier(.2,.8,.2,1)}
.site-browser.mob{width:390px;max-width:100%}
.site-chrome{display:flex;align-items:center;gap:10px;height:40px;padding:0 14px;border-bottom:1px solid var(--w-line);flex:none}
.site-dots{display:flex;gap:6px}.site-dots i{width:10px;height:10px;border-radius:50%;background:var(--w-line)}
.site-url{flex:1;max-width:360px;min-width:0;margin:0 auto;height:26px;border-radius:8px;background:var(--w-bg);font-size:12px;color:var(--w-grey);display:flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;overflow:hidden;white-space:nowrap}
.site-url span{overflow:hidden;text-overflow:ellipsis}
.site-pane{flex:1;min-height:0;position:relative;background:#fff}
.site-pane iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}
.site-gen{position:absolute;inset:0;background:#070908;display:flex;align-items:center;justify-content:center}
.site-gen canvas{position:absolute;inset:0;width:100%;height:100%}
.site-gen p{position:relative;margin:0 16px;padding:8px 14px;border-radius:999px;background:#0b0e0dcc;color:#edf1ec;font-size:13px;border:1px solid #2a302c;text-align:center}
.site-mini{position:absolute;inset:0;background:color-mix(in srgb,var(--w-bg) 55%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:grid;place-items:center;z-index:2}
.site-mini span{padding:10px 16px;border-radius:999px;background:var(--w-glass);border:1px solid var(--w-line);font-size:13px;display:flex;gap:10px;align-items:center;color:var(--w-ink)}
.site-mini span::before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid var(--w-acc);border-top-color:transparent;animation:siteSpin .8s linear infinite}
.site-fail{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;background:var(--w-bg);text-align:center}
.site-fail p{margin:0;max-width:360px;color:var(--w-grey);font-size:14px}
.site-retry{min-height:48px;padding:0 22px!important;border-radius:14px;display:inline-flex;align-items:center;gap:8px;background:var(--w-cta)!important;color:#fff!important;font-size:15px;font-weight:500}
.site-retry:hover{background:var(--w-cta-h)!important}
@media(max-width:949px){
  .site-start{justify-content:flex-start;padding:28px 16px 24px}
  .site-start h1{font-size:26px!important;margin-bottom:18px!important}
  .site-box textarea{font-size:16px}
  .site-work{display:flex;flex-direction:column}
  .site-tabs{display:flex;gap:4px;padding:8px 12px;border-bottom:1px solid var(--w-line);flex:none}
  .site-tabs button{flex:1;min-height:44px;border-radius:10px;font-size:13px;color:var(--w-grey)}
  .site-tabs button[aria-selected="true"]{background:var(--w-s2)!important;color:var(--w-ink)}
  .site-view{order:1;flex:1;padding:10px 12px 0}
  .site-chat{order:2;border-right:0;flex:none}
  .site-work[data-tab="site"] .site-log{display:none}
  .site-work[data-tab="chat"] .site-view{display:none}
  .site-work[data-tab="chat"] .site-chat{flex:1}
  .site-seg{display:none}.site-tb .t{display:none}
  .site-browser.mob{width:100%}
  .site-work[data-tab="site"] .site-lbl{display:none}
  .site-work[data-tab="site"] .site-box.sm textarea{min-height:44px}
  .site-box.sm textarea{font-size:16px}
  .site-chips.sm{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .site-chips.sm::-webkit-scrollbar{display:none}
  .site-chips.sm .site-chip{flex:none}
  .site-compose{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){.site-ws *,.site-ws *::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* SITE-WS composer: ίδιο .composer (εφέ beam, εικονίδια) με το Ask· εδώ μόνο η διάταξη μέσα στην οθόνη Website */
.site-ws .site-composer{display:flex;align-items:flex-end;gap:8px;width:100%;min-height:58px;padding:9px 10px;border-width:1px;border-style:solid;border-radius:24px}
.site-ws .site-composer .input-wrap{flex:1;min-width:0;align-self:center}
.site-ws .site-composer textarea{display:block;width:100%;resize:none;border:0;background:none;outline:none;font-size:15px;line-height:1.5;padding:6px 4px;max-height:220px;overflow-y:auto}
.site-ws .site-composer .icon-button,.site-ws .site-composer .dictation,.site-ws .site-composer .voice{flex:0 0 40px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center}
.site-ws .site-composer .icon-button{color:var(--w-grey)}
.site-ws .site-composer .icon-button:hover{color:var(--w-ink);background:var(--w-s2)!important}
.site-ws .site-composer svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-ws .site-composer .voice{color:#fff}
.site-ws .site-composer .voice:disabled{opacity:.4;cursor:default}
/* W1-5 (UX-01): το .site-ws button{background:none} έσβηνε το γέμισμα· το βέλος ήταν λευκό σε λευκό. Ένα primary, flat σκούρο πράσινο. */
.site-ws .site-composer .voice{background:var(--brand-deep,#075e59);transition:background .12s cubic-bezier(.2,.8,.2,1)}
.site-ws .site-composer .voice:not(:disabled):hover{background:#08756e}
html[data-theme="dark"] .site-ws .site-composer .voice:not(:disabled):hover{background:#0e7f76}
.site-ws .site-composer .voice:disabled{opacity:.55}
.site-start-box{width:100%;max-width:680px}
.site-start-box .site-composer{min-height:120px;padding:12px;align-items:flex-end}
.site-start-box .site-composer .input-wrap{align-self:stretch}
.site-start .site-note{margin:12px 0 0;font-size:12px;color:var(--w-grey);text-align:center}
.site-compose .site-chips.sm{margin:0 0 10px}
.site-compose:has(textarea:not(:placeholder-shown)) .site-chips.sm{display:none}
@media(max-width:949px){.site-ws .site-composer textarea{font-size:16px}.site-ws .site-composer .icon-button,.site-ws .site-composer .dictation,.site-ws .site-composer .voice{flex-basis:44px;width:44px;height:44px}}
.site-start-box .site-composer{flex-wrap:wrap;row-gap:4px}
.site-start-box .site-composer .input-wrap{flex:1 0 100%;order:-1;padding:2px 4px 0}
.site-start-box .site-composer .dictation{margin-left:auto}

/* Nóa avatar = η μέλισσα (σήμα Nóa)· tick πιο φροντισμένο· τα «τρέχοντα» στάδια = μικρό glass orb (ίδιο με το Lumen) */
.site-ws .site-av{background:linear-gradient(145deg,var(--w-acc),color-mix(in srgb,var(--w-acc) 62%,#04302d));box-shadow:0 0 0 1px color-mix(in srgb,var(--w-acc) 40%,transparent),0 4px 10px -4px var(--w-acc)}
.site-ws .site-av svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.site-steps li i{width:20px;height:20px;border:0;background:var(--w-s2);position:relative}
.site-steps li.run i{background:radial-gradient(circle at 34% 28%,#ffffffb8 0,#ffffff00 34%),radial-gradient(circle at 50% 55%,color-mix(in srgb,var(--w-acc) 92%,#fff),color-mix(in srgb,var(--w-acc) 60%,#04302d));box-shadow:0 0 0 3px color-mix(in srgb,var(--w-acc) 18%,transparent),0 0 14px color-mix(in srgb,var(--w-acc) 55%,transparent);animation:siteOrb 1.8s ease-in-out infinite}
.site-steps li.ok i{background:linear-gradient(145deg,color-mix(in srgb,var(--w-acc) 88%,#fff),var(--w-acc));color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--w-acc) 14%,transparent);animation:siteOk .35s cubic-bezier(.2,.9,.3,1.3)}
.site-steps li.ok i::after{width:5px;height:9px;border-width:0 1.8px 1.8px 0;border-radius:1px;transform:translateY(-1px) rotate(45deg)}
.site-steps li.bad i{background:none;box-shadow:inset 0 0 0 1.5px var(--w-red)}
.site-mini span::before{width:16px;height:16px;border:0;background:radial-gradient(circle at 34% 28%,#ffffffb8 0,#ffffff00 34%),radial-gradient(circle at 50% 55%,color-mix(in srgb,var(--w-acc) 92%,#fff),color-mix(in srgb,var(--w-acc) 60%,#04302d));box-shadow:0 0 12px color-mix(in srgb,var(--w-acc) 55%,transparent);animation:siteOrb 1.8s ease-in-out infinite}
@keyframes siteOrb{0%,100%{transform:scale(.88)}50%{transform:scale(1.08)}}
@keyframes siteOk{from{transform:scale(.6)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.site-steps li i,.site-mini span::before{animation:none!important}}

/* CR-WS - Create → PDF/Word/Excel/Image/Video (design-arena/create-all-v2, εγκρίθηκε 15/10/2026). Πατάει πάνω στα στυλ του SITE-WS. */
.cr-ws .cr-lead{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.site-ws .site-composer .cr-plus{background:none!important;border:0!important;color:var(--w-grey)}
.site-ws .site-composer .cr-plus:hover{color:var(--w-ink);background:none!important}
.site-ws .site-composer .cr-plus svg{width:21px;height:21px;stroke-width:1.5}
/* «+» στο Create: το συνημμένο γίνεται chip με × 44px, όπως το #attachment του chat (W1-3) */
.cr-ws .cr-att{display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;min-height:44px;margin:0 0 8px;padding:0 0 0 12px;border:1px solid var(--w-line);border-radius:22px;background:var(--w-bg);color:var(--w-ink);font-size:14px;line-height:1.3}
.cr-ws .cr-att svg{flex:none;width:18px;height:18px;color:var(--w-acc)}
.cr-ws .cr-att img{flex:none;width:28px;height:28px;margin-left:-4px;border-radius:8px;object-fit:cover}
.cr-ws .cr-att span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 21/10 (Iris): «ανεβαίνει» με χρώμα κειμένου που περνά 4.5:1 (όχι opacity σε όλο το chip)· μόνο η μικρογραφία/εικονίδιο ξεθωριάζει */
.cr-ws .cr-att[aria-busy="true"]{color:var(--w-grey)}.cr-ws .cr-att[aria-busy="true"] :is(img,svg){opacity:.6}
.cr-ws .cr-att [data-cr-unatt]{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font-size:20px;line-height:1;color:var(--w-grey)}
.cr-pill{position:relative;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px!important;border-radius:999px;border:1px solid var(--w-line)!important;background:var(--w-s)!important;color:var(--w-ink)!important;font-size:12px;white-space:nowrap}
.cr-pill::before{content:"";position:absolute;inset:-6px -2px}
.cr-pill:hover:not(:disabled){border-color:var(--w-acc)!important}
.cr-pill .i{width:14px;height:14px}
.cr-arg{display:inline-block;border:1.5px solid currentColor;border-radius:2px;flex:none}
.cr-menu{position:fixed;z-index:60;min-width:168px;padding:6px;border-radius:16px;background:var(--surface,#fff);border:1px solid var(--hair,#e4e8dd);box-shadow:0 18px 40px -18px #000a;color:var(--ink)}
html[data-theme="dark"] .cr-menu{background:#171c19;border-color:#2a302c;color:#edf1ec}
.cr-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;border-radius:10px;font:inherit;font-size:13px;color:inherit;background:none;border:0;cursor:pointer;text-align:start}
.cr-menu button:hover,.cr-menu button:focus-visible{background:color-mix(in srgb,currentColor 8%,transparent);outline:none}
.cr-menu button[aria-checked="true"]{color:#08756e}
html[data-theme="dark"] .cr-menu button[aria-checked="true"]{color:#65c6b5}
.cr-menu .ok{margin-left:auto;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.site-ws .site-chip{min-height:34px!important;height:34px;padding:0 12px!important;font-size:12px!important;position:relative;white-space:nowrap}
.site-ws .site-chip::before{content:"";position:absolute;inset:-5px 0}
.cr-name{font-size:13px;color:var(--w-grey);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-left:4px}
.cr-frame .site-pane{background:var(--w-s2)}
.cr-pane:has(.cr-fit){overflow:hidden}
.cr-fit{position:absolute;inset:0;padding:16px;container-type:size;display:grid;place-items:center}
.cr-media{display:block;max-width:100%;border-radius:12px;object-fit:cover;background:#000;box-shadow:0 14px 40px -22px #000a}
.cr-docwrap,.cr-sheetwrap{position:absolute;inset:0;overflow:auto;padding:24px 16px}
.cr-paper{max-width:720px;margin:0 auto;background:#fff;color:#1d231b;border-radius:6px;padding:56px 60px;box-shadow:0 18px 50px -28px #0008;font-size:14px;line-height:1.65}
.cr-paper h1{font-size:24px!important;line-height:1.25;margin:0 0 20px!important;letter-spacing:-.4px;color:#1d231b}
.cr-paper h2{font-size:15px;margin:22px 0 6px;color:#1f6f5c}
.cr-paper p{margin:0 0 12px}
.cr-sheetname{max-width:960px;margin:0 auto 8px;font-size:13px;color:var(--w-grey)}
.cr-tablewrap{max-width:960px;margin:0 auto 24px;overflow:auto;background:#fff;border-radius:8px;box-shadow:0 18px 50px -28px #0008}
.cr-table{border-collapse:collapse;width:100%;font-size:13px;color:#1d231b}
.cr-table th{position:sticky;top:0;background:#eef1ea;text-align:start;font-weight:600;padding:9px 12px;border-bottom:1px solid #d9ded3;white-space:nowrap}
.cr-table td{padding:8px 12px;border-bottom:1px solid #eef1ea}
.cr-table td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cr-fs{position:fixed;inset:0;z-index:70;background:#070908f2;display:flex;flex-direction:column}
.cr-fs-in{flex:1;position:relative;min-height:0}
.cr-fs .cr-fit{padding:56px 24px 24px}
.cr-fs .cr-docwrap,.cr-fs .cr-sheetwrap{padding:64px 16px 24px}
.cr-fs-x{position:absolute;top:12px;right:12px;z-index:2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#ffffff1a;color:#fff;border:0;cursor:pointer}
.cr-fs-x:hover{background:#ffffff33}
.cr-fs-x .i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
@media(max-width:949px){.cr-paper{padding:28px 22px;font-size:13px}.cr-paper h1{font-size:20px!important}.cr-ws .cr-lead{max-width:60%}}
.cr-paper,.cr-paper h1,.cr-paper p{color:#1d231b!important}
.cr-paper h2{color:#1f6f5c!important;font-weight:600}
.cr-ws .site-tools{flex-wrap:nowrap}.cr-ws .cr-name{flex:1 1 0}.cr-ws .site-tools .site-sp{display:none}

/* SCH - Πρόγραμμα v2 (design-arena/schedule-v2, εγκρίθηκε 15/10/2026) */
.sch-ws{--w-bg:#fff;--w-s:#f7f8f5;--w-s2:#eef1ea;--w-line:#e4e8dd;--w-ink:#1d231b;--w-grey:#5f665a;--w-acc:#1f6f5c;--w-cta:#075e59;--w-cta-h:#0a6d67;--w-glass:#ffffffeb;--w-red:#c02f34;--w-cal:#3b6fd8;
  max-width:860px;margin:0 auto;padding:8px 0 40px;color:var(--w-ink);text-align:start}
html[data-theme="dark"] .sch-ws{--w-bg:#101311;--w-s:#171c19;--w-s2:#202622;--w-line:#2a302c;--w-ink:#edf1ec;--w-grey:#a5ada6;--w-acc:#65c6b5;--w-cta:#075e59;--w-cta-h:#0a6d67;--w-glass:#171c19e6;--w-red:#ff8a8d;--w-cal:#7fa6ff}
.sch-ws button{font-family:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.sch-ws :focus-visible{outline:2px solid var(--w-acc);outline-offset:2px}
.sch-ws .i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sch-ws .i.sm{width:13px;height:13px}
.sch-head .overline{font-size:11px;letter-spacing:1.4px;color:var(--w-grey);margin:0 0 6px}
.sch-head h1{margin:0 0 14px!important}
.sch-brief{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:var(--w-s);border:1px solid var(--w-line)}
.sch-brief p{margin:0;font-size:14px;line-height:1.5}
.sch-orb{display:inline-block;flex:none;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#ffffffb8 0,#ffffff00 34%),radial-gradient(circle at 50% 55%,color-mix(in srgb,var(--w-acc) 92%,#fff),color-mix(in srgb,var(--w-acc) 60%,#04302d));box-shadow:0 0 0 4px color-mix(in srgb,var(--w-acc) 14%,transparent),0 0 18px color-mix(in srgb,var(--w-acc) 50%,transparent);animation:siteOrb 2.4s ease-in-out infinite}
.sch-orb.sm{width:12px;height:12px;box-shadow:0 0 10px color-mix(in srgb,var(--w-acc) 60%,transparent)}
.sch-orb.lg{width:44px;height:44px}
.sch-orb.inl{margin-left:8px;vertical-align:middle}
.sch-compose{height:auto!important;flex:none!important;background:none!important;margin:16px 0 0}
.sch-compose .site-chips.sm{margin:10px 0 0;justify-content:flex-start}
.sch-hint{margin:8px 2px 0;font-size:12px;color:var(--w-grey)}
.sch-ccard{margin-top:12px;padding:14px 16px;border-radius:18px;background:var(--w-s);border:1px solid var(--w-line)}
.sch-ccard.warn .site-noa>div{color:var(--w-red)}
.sch-ccard dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:12px 0 14px 38px;font-size:14px}
.sch-ccard dt{color:var(--w-grey)}.sch-ccard dd{margin:0;font-weight:500}
.sch-cbtns{display:flex;gap:8px;align-items:center;margin-left:38px}
.sch-cta{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 18px!important;border-radius:12px;background:var(--w-cta)!important;color:#fff!important;font-size:14px;font-weight:500}
.sch-cta:hover:not(:disabled){background:var(--w-cta-h)!important}.sch-cta:disabled{opacity:.6}
.sch-week{display:flex;align-items:center;gap:4px;margin:22px 0 8px}
.sch-nav{width:36px;height:44px;display:grid;place-items:center;border-radius:10px;color:var(--w-grey)}
.sch-nav:hover{background:var(--w-s2)!important;color:var(--w-ink)}
.sch-d{flex:1;min-width:0;min-height:62px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid transparent!important}
.sch-d small{font-size:12px;color:var(--w-grey);text-transform:capitalize}.sch-d b{font-size:16px;font-weight:600}
.sch-d:hover{background:var(--w-s)!important}
.sch-d.on{background:var(--w-s)!important;border-color:var(--w-acc)!important}
.sch-d.today b{color:var(--w-acc)}
.sch-dots{display:flex;gap:3px;height:5px}.sch-dots i{width:5px;height:5px;border-radius:50%;background:var(--w-acc);opacity:.75}
.sch-dayhead{display:flex;align-items:center;gap:10px;margin:14px 0 10px}
.sch-dayhead h2{margin:0;font-size:16px;font-weight:600;text-transform:capitalize}
.sch-tag{font-size:11px;letter-spacing:.6px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--w-acc) 16%,transparent);color:var(--w-acc);text-transform:uppercase}
.sch-line{position:relative;display:flex;flex-direction:column;gap:8px}
.sch-ev{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:stretch}
.sch-t{font-size:13px;color:var(--w-grey);padding-top:12px;font-variant-numeric:tabular-nums;text-align:right}
.sch-card{padding:11px 14px;border-radius:14px;background:var(--w-s);border:1px solid var(--w-line);border-left:3px solid var(--w-cal);display:flex;flex-direction:column;gap:3px}
.sch-card strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}
.sch-card small{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--w-grey)}
.sch-ev.past .sch-card{opacity:.55}
.sch-now{display:grid;grid-template-columns:64px 14px 1fr;gap:6px;align-items:center;margin:2px 0}
.sch-now .sch-t{padding:0;color:var(--w-acc);font-weight:600}
.sch-now i{height:1.5px;background:linear-gradient(90deg,var(--w-acc),transparent)}
.sch-empty{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:28px 16px;border-radius:18px;border:1px dashed var(--w-line);color:var(--w-grey)}
.sch-empty p{margin:0;font-size:14px;line-height:1.55;max-width:420px}.sch-empty strong{color:var(--w-ink)}
.sch-empty .site-chips{justify-content:center;margin:0}
.sch-skel{display:flex;flex-direction:column;gap:8px}.sch-skel i{height:54px;border-radius:14px;background:var(--w-s);animation:schPulse 1.2s ease-in-out infinite alternate}
@keyframes schPulse{to{opacity:.5}}
@media(max-width:949px){.sch-ws{padding:4px 0 32px}.sch-d{min-height:56px}.sch-d b{font-size:15px}.sch-nav{width:28px}.sch-ev{grid-template-columns:52px 1fr}.sch-now{grid-template-columns:52px 14px 1fr}.sch-ccard dl,.sch-cbtns{margin-left:0}.sch-compose textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.sch-orb,.sch-skel i{animation:none!important}}

/* Audit 15/10: όριο 12px, h1 28px στο κινητό, περιοχές αφής ≥44px (χωρίς να μεγαλώνει το οπτικό μέγεθος) */
.sch-tag,.create-card-copy small,.business-voice small,.chat-create-card>small,.chat-create-heading>span,.chat-create-disclaimer,.chat-create-message>span:last-child,.create-example-card>small,.create-example-note,.tabs button,.tabs a,.screen .quiet-note{font-size:12px!important}
@media(max-width:949px){
 .cr-ws .site-start h1,.site-ws .site-start h1{font-size:28px!important}
 .composer .icon-button,.composer .dictation,.composer #submit{position:relative}
 .composer .icon-button::before,.composer .dictation::before,.composer #submit::before{content:"";position:absolute;inset:-3px;border-radius:50%}
 .tabs button,.tabs a{position:relative}.tabs button::before,.tabs a::before{content:"";position:absolute;inset:-5px 0}
 .sch-d{position:relative}.sch-d::before{content:"";position:absolute;inset:0 -3px}
 .sch-nav{position:relative}.sch-nav::before{content:"";position:absolute;inset:0 -8px}
 .sch-cta{min-height:44px}
 .screen .segmented button{min-height:44px}
 .bottom-link{display:inline-flex;align-items:center;min-height:44px}
}

/* Αισθητική 15/10 (aesthetic-fix-v2): ένα φόντο, χωρίς κενά και γκρίζες λωρίδες. Το περίγραμμα του καρέ μένει (εγκεκριμένο design), μόνο το γέμισμα ταιριάζει στο φόντο. */
.main:has(>.screen:not([hidden])>.site-ws){padding:0!important}
.screen:not([hidden]):has(>.site-ws){width:100%!important;max-width:none!important;margin:0!important}
.site-ws{--w-rail:var(--w-bg)}
.site-chat{background:transparent}
.site-browser.cr-frame:has(.cr-fit){background:transparent}
.cr-frame .site-pane:has(.cr-fit){background:transparent}
html[data-theme="dark"] .site-ws .site-pane:not(:has(.cr-fit)){background:var(--w-s)}

/* Orbs: όπου φορτώνει, το υπάρχον orb της Nóa (NoaThinkingOrb) — όχι δικό μας CSS μπαλάκι. Όταν τελειώσει: το σήμα (μέλισσα). */
.site-steps li.run i{background:none!important;box-shadow:none!important;animation:none!important;width:20px;height:20px;display:block}
.site-steps li i canvas.mini-orb{width:20px;height:20px;display:block}
.site-mini span::before{display:none!important}
.site-mini span canvas.mini-orb{width:20px;height:20px;flex:none}
.sch-brief-i{display:grid;place-items:center;width:28px;height:28px;flex:none}
.sch-brief-i canvas.mini-orb{width:24px;height:24px}
.sch-ws .site-av{width:28px;height:28px;flex:none;border-radius:50%;background:linear-gradient(145deg,var(--w-acc),color-mix(in srgb,var(--w-acc) 62%,#04302d));color:var(--w-bg);display:grid;place-items:center;box-shadow:0 0 0 1px color-mix(in srgb,var(--w-acc) 40%,transparent),0 4px 10px -4px var(--w-acc)}
.sch-ws .site-av.lg{width:44px;height:44px}
.sch-ws .site-av svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sch-ws .site-av.lg svg{width:24px;height:24px}
.sch-ccard canvas.mini-orb.inl{width:20px;height:20px;margin-left:8px;vertical-align:middle}
.sch-now{grid-template-columns:64px 1fr!important}
/* 15/10: λογαριασμός στο μενού μετά το login */
.rail-avatar{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#075e59;color:#fff;font-size:12px;font-weight:600;flex:none}
.design-rail [data-route="account"] span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.recent-bot{width:22px;height:22px;flex:none}
/* 15/10 George: μενού «+» σε στυλ Grok + κάρτα αναβάθμισης (design-arena/plus-upgrade) */
.pm-menu{position:absolute;left:8px;width:250px;background:var(--surface,#fff);color:var(--ink,#1b1f1e);border:1px solid var(--border,#e6e3da);border-radius:16px;box-shadow:0 12px 32px rgba(20,30,28,.14),0 2px 6px rgba(20,30,28,.06);padding:6px;z-index:60;opacity:0;transition:opacity .14s,transform .18s cubic-bezier(.2,.8,.2,1)}
.pm-menu.pm-down{top:calc(100% + 8px);transform:translateY(-6px)}.pm-menu.pm-up{bottom:calc(100% + 8px);transform:translateY(6px)}
.pm-menu.pm-show{opacity:1;transform:none}
.pm-item{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;color:inherit;font:inherit;font-size:15px;text-align:start;padding:10px 12px;border-radius:10px;cursor:pointer;min-height:44px}
.pm-item:hover,.pm-item.on,.pm-item:focus-visible{background:var(--soft,rgba(0,0,0,.05))}
.pm-ic{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.7}
.pm-chev{margin-left:auto;width:16px;height:16px}
.pm-sep{height:1px;background:var(--border,#e6e3da);margin:6px 8px}
.pm-sub{left:calc(100% + 8px);width:220px}.pm-down .pm-sub{top:-1px}.pm-up .pm-sub{top:auto;bottom:-1px}
.pm-sub .pm-ic{color:#075e59;opacity:1}
#composer [data-open="attach"] svg{transition:transform .2s}#composer [data-open="attach"].pm-open svg{transform:rotate(45deg)}
.up-card{position:fixed;right:16px;bottom:16px;width:300px;border-radius:16px;padding:10px 10px 10px 12px;display:flex;align-items:center;gap:10px;color:#fff;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.18);z-index:40}
.up-card.up-pro{background:#06433f}.up-card.up-super{background:linear-gradient(135deg,#1b1f1e,#2a2418)}
.up-card::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='48' viewBox='0 0 28 48'%3E%3Cpath d='M14 0l14 8v16L14 32 0 24V8zM14 32l14 8v16M0 40l14-8' fill='none' stroke='%23ffffff' stroke-opacity='.07'/%3E%3C/svg%3E");-webkit-mask:linear-gradient(90deg,transparent 30%,#000);mask:linear-gradient(90deg,transparent 30%,#000)}
.up-bee{position:relative;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:none}
.up-bee svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round}
.up-pro .up-bee{background:rgba(255,255,255,.1);color:#9fd8cf}.up-super .up-bee{background:rgba(232,176,74,.16);color:#e8b04a}
.up-txt{position:relative;flex:1;min-width:0}.up-txt strong{display:block;font-size:15px;font-weight:600}.up-super .up-txt strong{color:#f3d48e}
.up-txt small{display:block;font-size:12px;color:rgba(255,255,255,.66);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.up-go{position:relative;border:0;border-radius:999px;padding:7px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;min-height:32px}
.up-pro .up-go{background:#fff;color:#06433f}.up-super .up-go{background:#e8b04a;color:#2a2418}
.up-x{position:absolute;top:2px;right:4px;width:24px;height:24px;border:0;background:none;color:rgba(255,255,255,.5);cursor:pointer;font-size:16px;line-height:1}
@media (max-width:949px){.up-card{display:none!important}}
.pm-stage{display:flex;gap:8px;padding:10px 12px 0;flex-wrap:wrap}
.pm-thumb{position:relative;width:64px;height:64px;border-radius:12px;overflow:hidden;border:1px solid var(--border,#e6e3da)}
.pm-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pm-rm{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(20,23,22,.7);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:grid;place-items:center}
.pm-sent{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;margin-bottom:6px}
.pm-sent img{width:120px;height:120px;object-fit:cover;border-radius:14px}
#composer:has(#pmStage){flex-wrap:wrap}#composer #pmStage{flex:0 0 100%;order:-1;padding:6px 6px 8px}
body:has(.app.conversation) .up-card{display:none}

/* ===== «Η μέρα μου» (app-day.js) — design-arena/dashboard-p1, εγκρίθηκε 15/10/2026. Όλα τα selectors .day-* ===== */
.day-ws{--d-pri:#075e59;--d-pri-d:#054a46;--d-ink-on:#fff;--d-mint:#e3f1ee;--d-honey:#e8b04a;--d-ink:#1b1f1e;--d-mute:#5f665a;--d-line:#e7e3d9;--d-panel:#fff;--d-soft:#faf9f5;--d-red:#c2410c;--d-logo-bg:#fff;--d-logo-line:#eceee8;--d-sh:0 1px 2px rgba(20,30,28,.04),0 12px 32px -16px rgba(20,30,28,.18);--d-sh2:0 2px 4px rgba(20,30,28,.05),0 20px 40px -18px rgba(20,30,28,.26);--d-hi:0 0 #0000;--d-wash:linear-gradient(135deg,#e3f1ee 0%,transparent 55%);--d-ease:cubic-bezier(.2,.7,.2,1);max-width:1168px;margin:0 auto;padding:16px 24px 48px;color:var(--d-ink);font-size:15px;line-height:1.5;box-sizing:border-box}
html[data-theme="dark"] .day-ws{--d-pri:#5fc2b8;--d-pri-d:#3e9e94;--d-ink-on:#06221f;--d-mint:#123532;--d-ink:#eceee8;--d-mute:#a3aaa0;--d-line:#262b29;--d-panel:#171b1a;--d-soft:#1c2120;--d-red:#f08a5d;--d-logo-line:#262b29;--d-sh:none;--d-sh2:none;--d-hi:inset 0 1px 0 rgba(255,255,255,.03);--d-wash:radial-gradient(120% 140% at 0% 0%,rgba(95,194,184,.08),transparent 60%)}
.day-ws *{box-sizing:border-box}
.day-ws button{font:inherit}
.day-ws :focus-visible{outline:2px solid var(--d-pri);outline-offset:2px;border-radius:10px}
.day-ws h2{margin:0 0 12px;font-size:15px;font-weight:600;letter-spacing:-.01em}
.day-ws .day-i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.day-top{padding:32px 0 0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.day-h1{margin:0;font-size:32px;line-height:1.12;font-weight:600;letter-spacing:-.02em}
.day-date{margin:8px 0 0;font-size:15px;color:var(--d-mute)}
.day-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--d-pri-d);background:var(--d-pri);color:var(--d-ink-on);font-size:14px;font-weight:600;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 1px 2px rgba(20,30,28,.12);transition:background .18s var(--d-ease),transform .18s var(--d-ease)}
.day-btn:hover{background:var(--d-pri-d)}.day-btn:active{transform:translateY(1px)}
.day-btn-s{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--d-line);background:transparent;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;position:relative;color:var(--d-ink);transition:color .18s,border-color .16s,background .16s}
.day-btn-s:hover{color:var(--d-pri);border-color:var(--d-pri);background:var(--d-mint)}
.day-btn-s::after{content:"";position:absolute;inset:-4px}
.day-tabs{margin-top:32px;border-bottom:1px solid var(--d-line)}
.day-tabs [role=tablist]{display:flex;gap:32px;overflow-x:auto;scrollbar-width:none}
.day-tabs [role=tablist]::-webkit-scrollbar{display:none}
.day-tabs button{position:relative;min-height:48px;border:0;background:none;padding:0;font-size:14px;font-weight:500;color:var(--d-mute);cursor:pointer;white-space:nowrap;transition:color .18s}
.day-tabs button:hover{color:var(--d-ink)}
.day-tabs button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--d-pri);transform:scaleX(0);transition:transform .2s var(--d-ease)}
.day-tabs button[aria-selected="true"]{color:var(--d-ink);font-weight:600}
.day-tabs button[aria-selected="true"]::after{transform:scaleX(1)}
.day-main{padding-top:32px}
.day-body>*+*{margin-top:32px}
.day-card{background:var(--d-panel);border:1px solid var(--d-line);border-radius:18px;box-shadow:var(--d-sh),var(--d-hi)}
.day-brief{padding:32px;background:var(--d-wash),var(--d-panel);position:relative;overflow:hidden}
.day-brief::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--d-pri),var(--d-honey) 60%,transparent);opacity:.55}
.day-hd{display:flex;align-items:center;gap:12px}
.day-hd b{font-size:14px;font-weight:600}
.day-bx{width:36px;height:36px;border-radius:12px;background:var(--d-mint);color:var(--d-pri);display:grid;place-items:center;flex:none}
.day-bx .day-i{width:22px;height:22px}
.day-brief p{margin:16px 0 24px;font-size:18px;line-height:1.55;max-width:62ch;text-wrap:pretty;letter-spacing:-.005em}
.day-brief p.day-quiet{font-size:16px;color:var(--d-mute)}
.day-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--d-mute);flex-wrap:wrap}
.day-logos{display:flex}
.day-logos span{width:24px;height:24px;border-radius:50%;background:var(--d-logo-bg);border:1px solid var(--d-logo-line);box-shadow:0 0 0 2px var(--d-panel);display:grid;place-items:center;margin-left:-6px;color:var(--d-pri)}
.day-logos span:first-child{margin-left:0}
.day-logos svg{width:14px;height:14px}
.day-tm2{font-variant-numeric:tabular-nums}
.day-listen{margin-left:auto;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:0;background:none;border-radius:999px;color:var(--d-pri);font-size:13px;font-weight:600;cursor:pointer;transition:background .18s}
.day-listen:hover{background:var(--d-mint)}
.day-listen svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.day-kpis{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}
.day-kpi{padding:24px;border-left:1px solid var(--d-line);min-width:0}
.day-kpi:first-child{border-left:0}
.day-l{font-size:12px;color:var(--d-mute);font-weight:500;letter-spacing:.06em}
.day-n{margin-top:8px;font-size:36px;line-height:1.05;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.day-d{margin-top:12px;font-size:12px;color:var(--d-mute)}
.day-cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px}.day-cols>*{min-width:0}
.day-cols>*+*{margin-top:0}
.day-list{list-style:none;margin:0;padding:8px}
.day-list li{display:flex;align-items:center;gap:16px;padding:12px;min-height:60px;border-radius:12px;transition:background .18s}
.day-list li:hover{background:var(--d-soft)}
.day-tl li{position:relative;padding-left:32px}
.day-tl li::before{content:"";position:absolute;left:15px;top:0;bottom:0;width:1px;background:var(--d-line)}
.day-tl li:first-child::before{top:50%}.day-tl li:last-child::before{bottom:50%}
.day-tl li::after{content:"";position:absolute;left:11px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--d-panel);border:1.5px solid var(--d-pri)}
.day-tl li.next::after{background:var(--d-pri);box-shadow:0 0 0 4px var(--d-mint)}
.day-nx{display:inline-block;white-space:nowrap;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--d-mint);color:var(--d-pri);font-size:12px;font-weight:600;vertical-align:1px}
.day-tm{width:48px;flex:none;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.day-tx{flex:1;min-width:0}
.day-tx b{display:block;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.day-tl .next .day-tx b{white-space:normal}
.day-tx small{display:block;font-size:12px;color:var(--d-mute);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.day-src{width:22px;height:22px;flex:none;display:grid;place-items:center;border-radius:6px;background:var(--d-logo-bg);border:1px solid var(--d-logo-line);color:var(--d-pri)}
.day-src svg{width:14px;height:14px}
.day-att{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:12px}
.day-att li{background:var(--d-soft);border:1px solid var(--d-line);border-left:3px solid var(--d-honey);border-radius:12px;padding:12px 12px 12px 16px}
.day-att li.r{border-left-color:var(--d-red)}.day-att li.m{border-left-color:var(--d-pri)}
.day-att li:hover{background:var(--d-panel)}
.day-empty-note{margin:0;padding:24px;font-size:14px;color:var(--d-mute)}
.day-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:16px}
.day-conn{padding:24px;display:flex;flex-direction:column;gap:2px;min-height:156px;min-width:0;transition:transform .18s var(--d-ease),box-shadow .18s var(--d-ease)}
.day-conn:hover{transform:translateY(-2px);box-shadow:var(--d-sh2),var(--d-hi)}
.day-h{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.day-h b{font-size:14px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.day-big{font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.day-big.sm{font-size:15px;letter-spacing:0;line-height:1.5;color:var(--d-pri)}
.day-conn p{margin:4px 0 0;font-size:13px;color:var(--d-mute);overflow:hidden;text-overflow:ellipsis}
.day-logo{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--d-logo-bg);border:1px solid var(--d-logo-line);flex:none}
.day-logo svg{width:22px;height:22px}
.day-logo.biz{background:var(--d-mint);border-color:transparent;color:var(--d-pri)}
.day-add{cursor:pointer;text-align:start;font:inherit;color:var(--d-ink);justify-content:space-between;position:relative}
.day-av{display:flex;margin-bottom:16px}
.day-av span{width:24px;height:24px;border-radius:50%;background:var(--d-logo-bg);border:1px solid var(--d-logo-line);box-shadow:0 0 0 2px var(--d-panel);display:grid;place-items:center;margin-left:-6px}
.day-av span:first-child{margin-left:0}.day-av svg{width:13px;height:13px}
.day-add b{font-size:14px;font-weight:600}.day-add small{display:block;margin-top:2px;font-size:13px;color:var(--d-mute)}
.day-plus{position:absolute;top:24px;right:24px;width:32px;height:32px;border-radius:50%;background:var(--d-pri);color:var(--d-ink-on);display:grid;place-items:center;transition:background .18s var(--d-ease)}
.day-plus svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round}
.day-add:hover .day-plus{background:var(--d-pri-d)}
.day-empty{padding:48px 32px;text-align:center;background:var(--d-wash),var(--d-panel)}
.day-mk{width:64px;height:64px;border-radius:18px;background:var(--d-mint);color:var(--d-pri);display:grid;place-items:center;margin:0 auto 24px}
.day-mk .day-i{width:40px;height:40px;stroke-width:1.3}
.day-empty h2{font-size:24px;margin:0 0 8px;letter-spacing:-.02em}
.day-empty p{margin:0 auto;max-width:46ch;color:var(--d-mute);font-size:15px}
.day-empty .day-btn{margin-top:24px}
.day-table{width:100%;border-collapse:collapse;font-size:14px}
.day-table th{text-align:start;font-size:12px;font-weight:500;color:var(--d-mute);padding:16px 24px;border-bottom:1px solid var(--d-line)}
.day-table td{padding:16px 24px;border-bottom:1px solid var(--d-line);vertical-align:middle;overflow-wrap:anywhere}
.day-table tbody tr:hover{background:var(--d-soft)}
.day-table tr:last-child td{border-bottom:0}
.day-table td.nm{font-weight:500}.day-table td.mu{color:var(--d-mute);font-size:13px}
.day-srcs{display:flex;gap:8px}
.day-set li{justify-content:space-between}
.day-soon{flex:none;font-size:12px;font-weight:500;padding:2px 10px;border-radius:999px;background:var(--d-mint);color:var(--d-pri)}
@media(max-width:1099px){.day-cols{grid-template-columns:minmax(0,1fr)}.day-kpis{grid-template-columns:repeat(2,1fr)}.day-kpi:nth-child(3){border-left:0}.day-kpi:nth-child(n+3){border-top:1px solid var(--d-line)}}
@media(max-width:640px){
 .day-ws{padding:4px 16px 32px}.day-top{padding-top:16px}.day-h1{font-size:28px}.day-top .day-btn{width:100%}
 .day-brief{padding:24px 16px}.day-brief p{font-size:16px}
 .day-kpi{padding:16px}.day-n{font-size:28px}
 .day-list{padding:4px}.day-att{padding:8px}
 .day-grid{grid-template-columns:1fr 1fr;gap:12px}.day-conn{padding:16px;min-height:0}.day-plus{top:auto;bottom:16px;right:16px}.day-big{font-size:24px}.day-big.sm{font-size:14px}
 .day-logo{width:36px;height:36px}
 .day-empty{padding:32px 16px}
 .day-table thead{display:none}.day-table,.day-table tbody,.day-table tr,.day-table td{display:block}.day-table tr{padding:12px 16px;border-bottom:1px solid var(--d-line)}.day-table td{padding:2px 0;border:0}
 .day-tabs [role=tablist]{gap:14px}.day-tabs button{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.day-ws *{transition:none!important}}
html[data-theme="dark"] .pm-menu{box-shadow:0 12px 32px rgba(0,0,0,.5)}html[data-theme="dark"] .pm-sub .pm-ic{color:#65c6b5}

/* 20/10 George («μου άρεσαν τα χρώματα της Μάρας»): ΜΟΝΟ η παλέτα της Μάρας, ΜΟΝΟ στο φωτεινό θέμα.
   Δύο λευκά (κύρια περιοχή καθαρό λευκό, μενού σχεδόν λευκό φασκόμηλου), γκρι με απόχρωση πράσινου, πιο σκούρο δευτερεύον κείμενο,
   επιλεγμένο στοιχείο μενού = λευκό που «σηκώνεται». Καμία αλλαγή σε fonts, composer, μεγέθη ή διάταξη. */
:root:not([data-theme="dark"]){--bg:#ffffff;--ink:#151816;--muted:#5a615c;--sub:#5a615c;--border:#e6e8e3;--hair:#e6e8e3;--surface:#f8f9f7;--soft:#f5f6f4;--ari-grey:#5a615c;--ari-hair:#e6e8e3}
:root:not([data-theme="dark"]) .design-rail{background:#f8f9f7;border-right-color:#e6e8e3}
:root:not([data-theme="dark"]) .design-rail .rail-link svg{color:#5a615c}
:root:not([data-theme="dark"]) .design-rail .rail-link:hover,:root:not([data-theme="dark"]) .design-rail button:hover{background:#eceee9;color:#151816}
:root:not([data-theme="dark"]) .design-rail .rail-link.active,:root:not([data-theme="dark"]) .design-rail button.active{background:#ffffff;color:#151816;border:1px solid transparent;box-shadow:0 0 0 1px #e6e8e3,0 1px 2px rgba(20,30,25,.04)}
:root:not([data-theme="dark"]) .design-rail .rail-link.active svg{color:#075e59}

/* ===== POLISH 20/10/2026 (Ηλίας · Μάρα desktop · Λένα κινητό) — branch design/polish-20261020. ΜΟΝΟ CSS: τυπογραφία, αποστάσεις, αφή, πληκτρολόγιο.
   Καμία αλλαγή σε δομή, κείμενα, χρώματα, λειτουργίες. Κοινές τιμές (tokens) στο :root, λίγα στοχευμένα overrides πάνω στα υπάρχοντα στυλ. ===== */
/* PL0 — tokens: μία τυπογραφική κλίμακα, μία κλίμακα αποστάσεων, μία περιοχή αφής */
:root{--fs-h1:28px;--fs-h2:20px;--fs-h3:17px;--fs-body:16px;--fs-ui:15px;--fs-label:14px;--fs-sub:13px;--fs-cap:12px;
  --lh-tight:1.2;--lh-ui:1.4;--lh-body:1.6;--ls-h1:-.02em;--ls-h2:-.012em;
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;
  --gutter:20px;--tap:44px;--r-ctl:16px;--sab:env(safe-area-inset-bottom,0px);--sat:env(safe-area-inset-top,0px)}
@media(min-width:950px){:root{--fs-h1:32px;--gutter:48px}}
@media(min-width:950px) and (max-width:1199px){:root{--gutter:40px}}

/* PL1 — τίτλοι: ίδιο μέγεθος/βάρος/tracking σε κάθε οθόνη (το tracking πιο ήπιο για τα ελληνικά) */
.screen h1,.welcome h1,.create-workspace-head h1,.create-mobile-panel-head h1,.login-title h1{font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:var(--ls-h1);font-weight:500}
.screen h2,.state-preview h2,.sheet h2{font-size:var(--fs-h2);line-height:1.3;letter-spacing:var(--ls-h2);font-weight:500}
.chat-prose h2,.chat-prose h3,.chat-prose h4{line-height:1.3;letter-spacing:var(--ls-h2);font-weight:550;margin:var(--sp-6) 0 var(--sp-2)}
.chat-prose h2{font-size:var(--fs-h2)}.chat-prose h3{font-size:var(--fs-h3)}.chat-prose h4{font-size:var(--fs-body)}
.chat-prose>:first-child{margin-top:0}
.screen-head{margin:var(--sp-1) 0 var(--sp-6)}
.overline{margin:0 0 var(--sp-2)}
.screen-lead{font-size:var(--fs-ui)!important;line-height:var(--lh-body)!important;margin-top:var(--sp-2)!important}
@media(min-width:950px){.screen-head{margin:var(--sp-2) 0 var(--sp-7)}}

/* PL2 — κείμενο συζήτησης: 16px/1.6 παντού στο κινητό (όχι 15px στα 390), ίδια ιεραρχία με τις οθόνες */
.chat-message-content,.chat-prose,.chat-user-text{font-size:var(--fs-body);line-height:var(--lh-body)}
.chat-prose p{margin:0 0 var(--sp-3)}.chat-prose li{line-height:var(--lh-body)}
.chat-user-text{padding:10px 14px}.chat-user-text p{line-height:var(--lh-body)}
.chat-answer-brand{font-size:var(--fs-sub);margin:0 0 var(--sp-2)}.chat-answer-brand svg{width:18px;height:18px}
.chat-pending,.chat-create-loading,.chat-create-heading,.chat-failed .chat-failure{font-size:var(--fs-sub)}
.chat-prose img,.chat-prose video,.chat-user-text img{display:block;max-width:100%;height:auto;border-radius:12px}
.chat-thread{overflow-anchor:auto}

/* PL3 — λίστες, κάρτες, labels: μία κλίμακα (15 κύριο / 13 δευτερεύον / 12 ετικέτα) */
.row-copy strong,.recent-item .row-copy strong,.reminder-copy>strong,.create-card-copy strong,.hive-card strong,.chat-file-meta strong,.business-voice strong,.subscription-copy>strong,.inline-empty strong{font-size:var(--fs-ui);font-weight:500;line-height:var(--lh-ui)}
.row-copy small,.recent-item .row-copy small,.create-card-copy small,.hive-card small,.chat-file-meta span,.recent-item time,.row-meta,.inline-empty p,.state-preview p,.create-empty-state p{font-size:var(--fs-sub)!important;line-height:1.5}
.hive-card strong{margin:var(--sp-2) 2px 2px}.hive-card small{margin-top:2px}
.screen p{font-size:var(--fs-label);line-height:var(--lh-body)}
.overline,.section-label,.screen .section-label,.mini-date,.category-label,.nav-section-label,.design-rail .rail-group,.design-rail .rail-divider span,.recent-nav-group{font-size:var(--fs-cap)!important;font-weight:500;line-height:1.3}
.section-label{margin:var(--sp-7) 0 var(--sp-2)}
.item-row{gap:14px}.setting-row{min-height:64px;padding:12px 0}
.hive-grid{gap:var(--sp-6) var(--sp-3)}

/* PL4 — κουμπιά και πεδία: 48px κύρια, 44px αφή στο κινητό, 14px/13px κείμενο, ίδιες ακτίνες */
.primary,.secondary,.social-button,.topup-continue{min-height:48px;border-radius:var(--r-ctl);font-size:var(--fs-label);font-weight:500}
.secondary{padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.tabs button,.tabs a{min-height:36px;padding:0 14px;font-size:var(--fs-sub)!important;display:inline-flex;align-items:center}
.segmented button{min-height:40px;font-size:var(--fs-sub)}
.search-box{min-height:48px;padding:0 14px}.search-box input{font-size:var(--fs-label)}
.text-link,.bottom-link,.recent-nav-all,.schedule-add,.detail-actions button,.state-preview .state-action,.state-preview .state-retry,.asset-detail-layout .detail-actions button{font-size:var(--fs-sub)!important}
.create-result-actions a,.create-result-actions .create-result-extend,.chat-doc-caption .create-result-actions button,.chat-file-card .create-result-actions a,.create-example-card>button,.create-result-state.is-error button,.chat-edit-actions button,.chat-prompt-copy{min-height:36px;padding:0 14px;border-radius:18px;font-size:var(--fs-sub)}
.chat-latest{min-height:40px;padding:0 14px;font-size:var(--fs-sub);display:inline-flex;align-items:center}
.chat-file-card{padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-4);gap:var(--sp-3)}
.chat-doc-caption{gap:var(--sp-2) var(--sp-3)}
.chat-create-card{gap:var(--sp-2)}
.footer{font-size:var(--fs-cap)!important;line-height:1.5;margin-top:10px}
.drawer .nav-button{font-size:var(--fs-ui);min-height:48px;gap:14px}
.drawer-head{margin-bottom:var(--sp-4)}

/* PL5 — desktop (Μάρα): ενιαίο gutter 48px για κεφαλίδα, οθόνες, συζήτηση και composer· sidebar 14px, 40px σειρές */
@media(min-width:950px){
  .header{padding:14px var(--gutter)}
  .screen{padding-left:var(--gutter);padding-right:var(--gutter);padding-top:var(--sp-7)}
  .app.conversation #screen{padding-left:var(--gutter);padding-right:var(--gutter)}
  .app.conversation .bottom,.bottom{width:min(800px,calc(100% - 2*var(--gutter)))}
  .welcome{width:min(800px,calc(100% - 2*var(--gutter)))}
  .design-rail .rail-link,.design-rail button,.design-rail .recent-nav-item{font-size:var(--fs-label)!important}
  .design-rail .rail-link{gap:12px;padding:0 12px}
  .design-rail .recent-nav-all{font-size:var(--fs-sub)!important}
  .design-rail .rail-toggle{width:36px;height:36px}
  .design-rail .rail-divider{margin:14px 12px 6px}
  .chat-message-tools button{width:36px;height:36px;flex-basis:36px;border-radius:10px}
  .tabs{gap:8px}
  .welcome .bee{width:52px;height:52px}
}

/* PL6 — κινητό (Λένα): ίδιο gutter 20px σε κεφαλίδα, οθόνες, συζήτηση και composer· όλα τα κουμπιά του composer 44px */
@media(max-width:949px){
  .header{padding-left:10px;padding-right:10px}
  .screen{padding:var(--sp-4) var(--gutter) calc(var(--sp-7) + var(--sab))}
  .tabs{margin-left:calc(-1*var(--gutter));margin-right:calc(-1*var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter)}
  .main{padding-left:var(--gutter);padding-right:var(--gutter)}
  .bottom{padding-left:var(--gutter);padding-right:var(--gutter)}
  .composer{padding:8px;gap:4px}
  .composer .attach,.composer .dictation,.composer .voice,.composer .icon-button{flex:0 0 var(--tap);width:var(--tap);height:var(--tap)}
  .composer .attach svg{width:22px;height:22px}.composer .voice svg{width:19px;height:19px}.composer .dictation svg{width:20px;height:20px}
  .composer .input-wrap{padding:0 4px}
  .tabs button,.tabs a{min-height:40px;padding:0 16px}
  .chat-message-tools button{width:var(--tap);height:var(--tap);flex-basis:var(--tap)}
  .chat-message-tools{margin-top:-2px}
  .create-result-actions a,.create-result-actions .create-result-extend,.chat-doc-caption .create-result-actions button,.chat-file-card .create-result-actions a,.create-example-card>button,.create-result-state.is-error button,.chat-edit-actions button{min-height:var(--tap);padding:0 16px;border-radius:22px}
  .chat-latest{min-height:var(--tap);padding:0 16px}
  .chat-file-card .create-result-actions{gap:8px}
  .recent-nav-item{font-size:var(--fs-ui)}
  .search-box{margin-bottom:var(--sp-5)}
}

/* PL7 — κινητό: η συζήτηση ως στήλη (κεφαλίδα / λίστα / composer) αντί για absolute λίστα με 150px «νεκρό» κενό.
   Ο composer δεν καλύπτει ποτέ το τελευταίο μήνυμα, το κενό κάτω είναι 12px, και όταν ανοίγει το πληκτρολόγιο
   (--chat-visible-height από visualViewport) η λίστα απλώς κονταίνει, χωρίς άλμα και χωρίς δεύτερο scroll. */
@media(max-width:949px){
  .app.conversation{display:flex;flex-direction:column}
  .app.conversation .header{order:0}
  .app.conversation #screen{position:relative;inset:auto;order:1;flex:1 1 auto;min-height:0;height:auto;width:100%;padding-top:0;padding-bottom:var(--sp-3);scroll-padding-bottom:var(--sp-3)}
  .app.conversation .bottom{order:2;margin-top:0;padding-bottom:calc(var(--sp-3) + var(--sab))}
  .app.conversation .footer{margin-top:var(--sp-2)}
  .app.conversation .chat-thread{padding:var(--sp-4) 0 var(--sp-2)}
  .app.conversation .chat-layout{min-height:0}
  .chat-latest{bottom:var(--sp-2)}
  .chat-user{max-width:88%}
}

/* PL8 — κενή σειρά ενεργειών (μηνύματα με κάρτα δημιουργίας δεν έχουν ενέργειες) δεν κρατά 44px· κάρτα αρχείου: σε όλα τα κινητά τα κουμπιά πάνε κάτω από τον τίτλο, ώστε ο τίτλος να μην κόβεται */
.chat-message-tools:empty{display:none}
@media(max-width:599px){.chat-file-card{flex-wrap:wrap}.chat-file-card .create-result-actions{width:100%;justify-content:flex-end}}

/* PL9 — refresh στο κινητό (κυρίως σε 4G): ο composer ανέβαινε και έμενε κενή λωρίδα από κάτω.
   Αιτία: η .app.conversation έπαιρνε ύψος σε px από το visualViewport (--chat-visible-height), που μετριέται
   μία φορά όταν τρέξει το app-chat.js και ανανεώνεται μόνο με visualViewport resize. Αν η μέτρηση γίνει σε
   μεταβατική κατάσταση (μπάρα URL/φόρτωση, ανοιχτό πληκτρολόγιο, bfcache) και χαθεί το επόμενο event, το px μένει μικρό.
   Τώρα: χωρίς εστίαση σε πεδίο κειμένου (άρα χωρίς πληκτρολόγιο) η συζήτηση αγκυρώνεται top:0 / bottom:0 στο viewport,
   χωρίς αποθηκευμένα px. Το --chat-visible-* ισχύει μόνο όσο γράφεις, όπου το ίδιο το πληκτρολόγιο φρεσκάρει την τιμή.
   Χωρίς :has() (παλιοί browsers) μένει η προηγούμενη συμπεριφορά. */
@media(max-width:949px){
  .app.conversation:not(:has(:is(textarea,input,select,[contenteditable]:not([contenteditable="false"])):focus)){top:0;bottom:0;height:auto;max-height:none}
  html,html[data-theme="dark"]{background:var(--bg)}
}

/* ===== ΚΥΜΑ 1 — 21/10/2026 (Jason · chat-lab ενότητες 5/6, UX-05). ΜΟΝΟ τα εγκεκριμένα: κείμενο απάντησης, γραμμή ανάγνωσης,
   composer δύο σειρών στο κινητό, ενέργειες χρήστη. Δεν αγγίζει header, sidebar, tokens, οθόνη κλήσης, μενού «+», PL9. ===== */
/* W1-1 — ένα μέγεθος στην απάντηση: παράγραφοι = λίστες = 17/1.65 (το .screen p 14px έπαιρνε τις παραγράφους).
   Μήνυμα χρήστη και composer 17/1.5 (≥16 → χωρίς zoom στο iOS). Κώδικας 14/1.6. */
.chat-prose{font-size:17px;line-height:1.65}
.chat-prose p,.chat-prose li{font-size:inherit;line-height:inherit}
.chat-user-text{font-size:17px;line-height:1.5}
.chat-user-text p{font-size:inherit;line-height:inherit}
#prompt{font-size:17px;line-height:1.5;min-height:28px}
.chat-code{font-size:14px;line-height:1.6}
/* W1-2 — γραμμή ανάγνωσης 38em (≈60–75 χαρ.)· πίνακες και κώδικας απλώνουν σε όλη τη στήλη (800px) */
.chat-prose>:where(p,ul,ol,h2,h3,h4,blockquote){max-width:38em}
/* W1-3 — κινητό: όσο γράφεις, το κείμενο παίρνει όλη την πρώτη σειρά και τα κουμπιά πάνε από κάτω (μένουν στην ίδια θέση,
   γιατί ο composer μεγαλώνει προς τα πάνω). Το συνημμένο γίνεται chip με × 44px. */
@media(max-width:949px){
  #composer:is(:has(#prompt:focus),:has(#prompt:not(:placeholder-shown))){flex-wrap:wrap;row-gap:0}
  #composer:is(:has(#prompt:focus),:has(#prompt:not(:placeholder-shown)))>.input-wrap{order:-1;flex:1 0 100%;padding:4px 0 0}
  #composer:is(:has(#prompt:focus),:has(#prompt:not(:placeholder-shown))) #prompt{padding-left:6px;padding-right:6px}
  #composer:is(:has(#prompt:focus),:has(#prompt:not(:placeholder-shown)))>.dictation{margin-left:auto}
  /* το toast πάει πάνω όσο γράφεις, για να μην πατά τον composer δύο σειρών */
  .app:is(:has(#prompt:focus),:has(#prompt:not(:placeholder-shown))) .mock-toast{bottom:auto;top:calc(env(safe-area-inset-top,0px) + 84px)}
  #attachment{display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;min-height:44px;margin:0 0 8px;padding:0 0 0 12px;border:1px solid var(--hair);border-radius:22px;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.3}
  #attachment svg{flex:none;width:18px;height:18px;color:var(--accent)}
  #attachment #removeFile{flex:0 0 44px;width:44px;height:44px;margin-left:0;display:grid;place-items:center;border-radius:50%;font-size:20px;line-height:1;color:var(--sub)}
}
/* W1-4 — μήνυμα χρήστη: οι ενέργειες φαίνονται με hover, εστίαση ή πάτημα (.tools-on, app.js)· κρατούν τη θέση τους, τίποτα δεν πηδά */
.chat-user .chat-message-tools{opacity:0;pointer-events:none;transition:opacity .18s cubic-bezier(.2,.8,.2,1)}
.chat-user:hover .chat-message-tools,.chat-user:focus-within .chat-message-tools,.chat-user.tools-on .chat-message-tools{opacity:1;pointer-events:auto}
/* iOS Safari στέλνει click σε μη διαδραστικό στοιχείο μόνο αν έχει cursor:pointer (Γιάννης, W1-4) */
@media(hover:none){.chat-user{cursor:pointer}}
/* ===== ΚΥΜΑ 2 — 21/10/2026 (Jason · design-arena/font-lab «Πρόταση»). ΜΟΝΟ τυπογραφία: Commissioner + μεγαλύτερο κείμενο στο κινητό.
   Τα @font-face είναι στο index.html. Η οθόνη κλήσης ΔΕΝ αλλάζει σε αυτό το κύμα: κρατά Inter και τα δικά της μεγέθη. ===== */
/* PL10 — τυπογραφία: Commissioner + μεγαλύτερο κείμενο στο κινητό (μόνο τυπογραφία) */
:root{
  --font:'Commissioner','Commissioner Fallback','Noto Sans Devanagari',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono','Noto Sans Devanagari',ui-monospace,SFMono-Regular,Consolas,monospace;
  --font-num:'Noa Digits',var(--font);
  --ls-h1:-.015em;--ls-h2:-.008em;
  --fs-body:1.0625rem;              /* desktop 17px: ίδιο οπτικό μέγεθος με Inter 16 */
  --fs-h3:1.1875rem;                /* desktop 19px: ο τίτλος απάντησης μένει πάνω από το σώμα */
}
.wordmark,.rail-brand{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}  /* το λογότυπο μένει ίδιο */
.call-m{--font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-family:var(--font)}  /* οθόνη κλήσης: όπως σήμερα */
.chat-prose code,.chat-prose pre,.chat-code,.chat-code code,.chat-edit-input{font-family:var(--mono)}
.chat-prose h2,.chat-prose h3,.chat-prose h4{font-weight:600}
.composer textarea{letter-spacing:0}
.chat-prose td,.chat-prose th,.usage-label,.plan-tag,.recent-item time{font-family:var(--font-num);font-variant-numeric:tabular-nums}
.screen .chat-prose p,.screen .chat-user-text p{font-size:inherit}   /* σφάλμα: σήμερα 14px αντί για το σώμα */

@media(max-width:949px){
  :root{--fs-body:1.125rem;          /* 18px: x-height ίσο με SF Pro 17pt (ChatGPT / Grok iOS) */
        --fs-ui:1.0625rem;           /* 17 γραμμές λίστας, ρυθμίσεις */
        --fs-label:1rem;             /* 16 κουμπιά, πεδία, .screen p */
        --fs-sub:.9375rem;           /* 15 δευτερεύον, chips, segmented */
        --fs-cap:.8125rem;           /* 13 eyebrow, υποσημείωση */
        --fs-h2:1.375rem;--fs-h3:1.25rem;   /* 22 / 20 τίτλοι απάντησης */
        --lh-body:1.6;--lh-ui:1.35}
  /* --fs-h1 μένει 28px (εγκεκριμένο) */
  .chat-message-content,.chat-prose,.chat-user-text,.chat-user-text p,.screen .chat-prose p,.screen .chat-user-text p,.chat-prose li{font-size:var(--fs-body);line-height:var(--lh-body)}
  .chat-prose h2{font-size:var(--fs-h2);line-height:1.27}.chat-prose h3{font-size:var(--fs-h3);line-height:1.3}.chat-prose h4{font-size:1.125rem;line-height:1.33}
  .chat-prose th,.chat-prose td{font-size:var(--fs-sub);line-height:1.45}
  .chat-code,.chat-prose pre,.chat-prose pre code{font-size:.875rem;line-height:1.6}
  .chat-answer-brand{font-size:var(--fs-sub)}
  .composer textarea{font-size:var(--fs-body);line-height:1.5rem;height:1.625rem}   /* ≥16px: χωρίς zoom στο iOS */
  .search-box input{font-size:var(--fs-ui)}
  .screen-lead{font-size:var(--fs-ui)!important;line-height:1.55!important}
  .segmented button,.theme-segment button{font-size:var(--fs-sub)!important}
  .footer{font-size:var(--fs-cap)!important}
  :lang(hi) .chat-prose,:lang(hi) .chat-user-text,:lang(hi) .chat-prose li{line-height:1.75}
}
/* 22/10 (George): στο κινητό η αρχική οθόνη (κενή κατάσταση, χωρίς συζήτηση) μένει ίδια με πριν το Κύμα 2 —
   Inter, ίδιο μέγεθος/βάρος/διάστιχο στο welcome h1, στο #prompt (και placeholder) και στην υποσημείωση. Η συζήτηση και οι οθόνες κρατούν το Κύμα 2. */
@media(max-width:949px){
  .app:not(.conversation) :is(.welcome h1,#prompt,.footer){font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
  .app:not(.conversation) .welcome h1{letter-spacing:-.02em}
  .app:not(.conversation) #prompt{letter-spacing:-.35px}
  .app:not(.conversation) .footer{font-size:.75rem!important}
}
/* ===== ΚΥΜΑ 3 — 22/10/2026 (Jason · chat-lab, αλλαγές 4–10). ΜΟΝΟ το chat (.chat-*)· η αρχική του κινητού, το header, το sidebar και η κλήση δεν αγγίζονται. ===== */
/* W3-4 — ροή χωρίς άλματα: τα νέα blocks μπαίνουν με fade 120ms· μία κουκκίδα στο τέλος του κειμένου όσο γράφεται· ανακοίνωση μόνο στο τέλος (#chatAnnounce) */
@keyframes w3-fade{from{opacity:0}to{opacity:1}}
@keyframes w3-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.chat-prose>.blk-in{animation:w3-fade .12s cubic-bezier(.2,.8,.2,1) both}
.chat-streaming .chat-prose>:last-child:not(ul,ol,.chat-table-wrap,.chat-code-block,.chat-code,.chat-prompt-card)::after,
.chat-streaming .chat-prose>:is(ul,ol):last-child>li:last-child::after{content:"";display:inline-block;width:9px;height:9px;margin-left:6px;border-radius:50%;background:var(--accent);vertical-align:1px;animation:w3-pulse 1s ease-in-out infinite}
.chat-announce{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.chat-prose>.blk-in{animation:none}.chat-streaming .chat-prose>:last-child::after,.chat-streaming .chat-prose>:is(ul,ol):last-child>li:last-child::after{animation:none}}
/* W3-5 — η ερώτηση ανεβαίνει στην κορυφή (κενό #chatPinSpacer από το app-chat.js)· το «Στα πιο πρόσφατα» γίνεται στρογγυλό κουμπί 44px πάνω από τον composer */
@keyframes w3-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.chat-pin-spacer{flex:none;height:0;pointer-events:none}
.chat-latest-dock{position:sticky;bottom:12px;z-index:2;flex:none;height:0;display:flex;justify-content:center;align-items:flex-end;pointer-events:none}
.chat-layout .chat-latest-dock .chat-latest{position:relative;bottom:auto;align-self:auto;flex:none;display:grid;place-items:center;width:44px;height:44px;min-height:44px;margin:0;padding:0;border-radius:50%;pointer-events:auto;
  background:var(--bg);color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 14%,var(--bg));box-shadow:0 2px 6px rgba(19,35,24,.06),0 8px 24px rgba(19,35,24,.10);animation:w3-rise .18s cubic-bezier(.2,.8,.2,1) both}
.chat-layout .chat-latest-dock .chat-latest[hidden]{display:none}
.chat-latest svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.chat-latest:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.chat-latest.new::after{content:"";position:absolute;top:5px;right:5px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--bg)}
html[data-theme="dark"] .chat-layout .chat-latest-dock .chat-latest{box-shadow:0 2px 6px rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.45)}
@media(prefers-reduced-motion:reduce){.chat-layout .chat-latest-dock .chat-latest{animation:none}}
/* W3-7 — αναμονή με κατάσταση και χρόνο: ετικέτα 14px σε ένα γκρι, χρόνος μετά τα 3s, μία πρόταση μετά τα 8s· το orb του μηνύματος που γράφεται μπαίνει στη θέση της μέλισσας (ίδιο 18px, χωρίς άλμα) */
.chat-pending{flex-wrap:wrap;min-height:24px;font-size:14px;line-height:20px;color:var(--ari-grey,#5f665a)}
.chat-pending-time{font-variant-numeric:tabular-nums}
#chatPending .chat-pending-slow{flex:1 0 100%;margin:4px 0 0;font-size:15px;line-height:1.5;color:var(--ari-grey,#5f665a);animation:w3-rise .18s cubic-bezier(.2,.8,.2,1) both}
.chat-answer-brand .chat-pending-orb{width:18px;height:18px;flex:0 0 18px}
@media(prefers-reduced-motion:reduce){#chatPending .chat-pending-slow{animation:none}}
/* W3-8 — κάρτα εικόνας: το καρέ κλείνει στην εικόνα (λόγος διαστάσεων του task), λεζάντα = αίτημα, ενέργειες μέσα στην κάρτα, χωρίς νεκρή λωρίδα */
.chat-create-card.chat-image-card{display:block;width:460px;max-width:100%;margin-top:4px;gap:0;border:1px solid var(--hair);border-radius:20px;overflow:hidden;background:var(--bg);color:var(--ink);font-size:var(--fs-label,14px)}
.chat-image-stage{position:relative;aspect-ratio:var(--ar,1/1);background:var(--surface);overflow:hidden}
.chat-image-stage img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;border-radius:0}
.chat-image-foot{display:flex;flex-direction:column;gap:10px;padding:12px 14px 14px}
.chat-image-cap{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;font-size:14px;line-height:1.45;color:var(--ari-grey,#5f665a)}
.chat-image-cap q{color:var(--ink);quotes:"«" "»"}
:lang(en) .chat-image-cap q{quotes:"\201C" "\201D"}
.chat-image-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.chat-image-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid color-mix(in srgb,var(--ink) 14%,var(--bg));border-radius:22px;background:var(--bg);color:var(--ink);font:inherit;font-size:14px;font-weight:500;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .12s}
.chat-image-btn:hover{background:var(--soft)}
.chat-image-btn:active{transform:scale(.97)}
.chat-image-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.chat-image-btn svg{flex:none;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:950px){.chat-image-actions{gap:8px}.chat-image-btn{min-height:36px;padding:0 14px;gap:8px;border-radius:18px}.chat-image-btn::after{content:"";position:absolute;inset:-4px}}
@media(prefers-reduced-motion:reduce){.chat-image-btn{transition:none}.chat-image-btn:active{transform:none}}
/* W3-9 — πίνακας (fade όταν συνεχίζει, κυλά με το πληκτρολόγιο), κώδικας (γλώσσα + «Αντιγραφή»), σφάλμα σε μία πρόταση με κουμπί, διακοπή μία φορά, επεξεργασία μέσα στο μήνυμα, γραμμή εκτός σύνδεσης */
.chat-prose .chat-table-wrap{position:relative;max-width:100%;margin:18px 0;overflow:hidden;border:1px solid var(--hair);border-radius:14px;background:var(--bg)}
.chat-table-scroll{overflow-x:auto;scrollbar-width:thin}
.chat-table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.chat-prose .chat-table-wrap table{width:100%;min-width:440px;border-collapse:collapse;font-size:15px;line-height:1.4;font-variant-numeric:tabular-nums}
.chat-prose .chat-table-wrap th{padding:10px 14px;border-bottom:0;font-size:13px;font-weight:600;color:var(--ari-grey,#5f665a);text-align:start;white-space:nowrap;background:var(--surface)}
.chat-prose .chat-table-wrap td{padding:11px 14px;border-top:1px solid var(--hair);border-bottom:0;font-size:15px;white-space:nowrap}
.chat-prose .chat-table-wrap .num{text-align:right}
.chat-table-wrap::after{content:"";position:absolute;top:0;right:0;bottom:0;width:32px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--bg));opacity:0;transition:opacity .18s}
.chat-table-wrap.more::after{opacity:1}
.chat-code-block{margin:18px 0;border:1px solid var(--hair);border-radius:14px;background:var(--surface);overflow:hidden}
.chat-code-head{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:0 4px 0 14px;border-bottom:1px solid var(--hair);font-size:13px;color:var(--ari-grey,#5f665a)}
.chat-code-block .chat-code{position:static;max-width:100%;margin:0;padding:14px 16px;overflow-x:auto;border:0;border-radius:0;background:transparent;font-size:14px;line-height:1.6;tab-size:2}
.chat-code-block .chat-code:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.chat-code-block .chat-code-copy{position:relative;top:auto;right:auto;display:inline-flex;align-items:center;gap:6px;width:auto;height:auto;min-height:36px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:var(--ari-grey,#5f665a);font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.chat-code-block .chat-code-copy::after{content:"";position:absolute;inset:-4px}
.chat-code-block .chat-code-copy:hover{background:var(--soft);color:var(--ink)}
.chat-code-block .chat-code-copy svg{width:16px;height:16px}
html[data-theme="dark"] .chat-code-block .chat-code-copy{background:transparent}
html[data-theme="dark"] .chat-code-block .chat-code-copy:hover{background:var(--soft)}
.chat-failed .chat-failure{color:var(--ink);font-size:inherit}
.chat-notice{display:flex;gap:12px;align-items:flex-start;max-width:38em;margin-top:14px;padding:12px 14px;border:1px solid var(--hair);border-radius:16px;background:var(--surface);font-size:15px;line-height:1.5;animation:w3-rise .18s cubic-bezier(.2,.8,.2,1) both}
.chat-failure>.chat-notice:first-child{margin-top:0}
.chat-notice>svg{flex:none;width:20px;height:20px;margin-top:2px;fill:none;stroke:#a5402f;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="dark"] .chat-notice>svg{stroke:#f0a493}
.chat-notice-tx{flex:1;min-width:0}
.chat-notice-tx strong{display:block;font-weight:600;color:var(--ink)}
.chat-notice-tx>span{color:var(--ari-grey,#5f665a)}
.chat-notice-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:10px;padding:0 16px;border:1px solid color-mix(in srgb,var(--ink) 14%,var(--bg));border-radius:22px;background:var(--bg);color:var(--ink);font:inherit;font-size:14px;font-weight:500;line-height:1;cursor:pointer;transition:background .12s}
.chat-notice-btn:hover{background:var(--soft)}
.chat-notice-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.chat-notice-btn svg{flex:none;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:950px){.chat-notice-btn{min-height:36px;padding:0 14px;border-radius:18px}.chat-notice-btn::after{content:"";position:absolute;inset:-4px}}
.chat-stopped{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;line-height:1.4;color:var(--ari-grey,#5f665a)}
.chat-interrupted::before{content:"";flex:none;width:9px;height:9px;border:1.5px solid currentColor;border-radius:2px}
.chat-queued{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:13px;line-height:1.4;color:var(--ari-grey,#5f665a)}
.chat-user .chat-queued{justify-content:flex-end}
.chat-queued svg{flex:none;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.chat-user .chat-edit-input{display:block;width:100%;max-width:560px;min-height:72px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--ink) 14%,var(--bg));border-radius:12px;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.5}
.chat-user .chat-edit-input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.chat-edit-actions{flex-wrap:wrap;align-items:center}
.chat-edit-actions button{min-height:44px;padding:0 16px;font-size:14px}
.chat-edit-note{margin-right:auto;font-size:13px;line-height:1.4;color:var(--ari-grey,#5f665a)}
.chat-net{display:flex;align-items:center;gap:10px;margin:0 0 8px;padding:10px 14px;border-radius:14px;background:#fbf4e6;color:#202120;font-size:14px;line-height:1.45;animation:w3-rise .18s cubic-bezier(.2,.8,.2,1) both}
.chat-net svg{flex:none;width:18px;height:18px;fill:none;stroke:#7a5413;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.chat-net.ok svg{stroke:#075e59}
html[data-theme="dark"] .chat-net{background:#2a2414;color:#edf1ec}
html[data-theme="dark"] .chat-net svg{stroke:#e9c47a}
html[data-theme="dark"] .chat-net.ok svg{stroke:#6fc7b5}
@media(prefers-reduced-motion:reduce){.chat-notice,.chat-net{animation:none}.chat-notice-btn,.chat-table-wrap::after{transition:none}}
/* W3-10 — πηγές (αριθμημένα σημάδια στο κείμενο + μία συμπτυγμένη γραμμή «N πηγές») και εκδόσεις ‹ 1/2 › κάτω από την απάντηση */
.chat-cite{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin:0 2px;border:0;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,var(--bg));color:#075e59;font:inherit;font-size:12px;font-weight:600;line-height:1;vertical-align:2px;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .12s,color .12s}
html[data-theme="dark"] .chat-cite{color:var(--accent)}
.chat-cite::after{content:"";position:absolute;inset:-6px -4px}
.chat-cite:hover,.chat-cite.hl{background:var(--accent);color:var(--bg)}
.chat-cite:focus-visible,.chat-src:focus-visible,.chat-src-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.chat-sources{margin-top:16px}
.chat-src-toggle{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 12px 0 6px;border:1px solid color-mix(in srgb,var(--ink) 14%,var(--bg));border-radius:22px;background:var(--bg);color:var(--ink);font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background .12s}
.chat-src-toggle::after{content:"";position:absolute;inset:-2px}
.chat-src-toggle:hover{background:var(--soft)}
.chat-favs{display:flex}
.chat-fav{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:12px;font-weight:600;line-height:1;color:#fff;box-shadow:0 0 0 2px var(--bg);margin-left:-7px}
.chat-favs .chat-fav:first-child{margin-left:0}
.chat-chev{flex:none;width:16px;height:16px;fill:none;stroke:var(--ari-grey,#5f665a);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .24s cubic-bezier(.2,.8,.2,1)}
.chat-src-toggle[aria-expanded="true"] .chat-chev{transform:rotate(180deg)}
.chat-src-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s cubic-bezier(.2,.8,.2,1)}
.chat-src-wrap.open{grid-template-rows:1fr}
.chat-src-wrap>div{overflow:hidden}
.chat-src-list{list-style:none;margin:0;padding:10px 0 0;display:grid;gap:6px;grid-template-columns:minmax(0,1fr)}
.chat-src{display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 12px;align-items:center;padding:10px 12px;border:1px solid var(--hair);border-radius:14px;color:var(--ink);text-decoration:none;transition:background .12s,border-color .12s}
.chat-src:hover{background:var(--soft)}
.chat-src.hl{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg))}
.chat-src .chat-fav{grid-row:span 2;margin:0;box-shadow:none}
.chat-src b{overflow:hidden;font-size:15px;font-weight:500;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.chat-src small{font-size:13px;line-height:1.3;color:var(--ari-grey,#5f665a)}
@media(min-width:950px){.chat-src-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.chat-pager{display:inline-flex;align-items:center;margin-left:4px;font-size:13px;color:var(--ari-grey,#5f665a);font-variant-numeric:tabular-nums}
.chat-pv{padding:0 2px}
@media(prefers-reduced-motion:reduce){.chat-src-wrap,.chat-chev,.chat-src-toggle,.chat-cite,.chat-src{transition:none}}
/* W3-6 (υπόλοιπο) — οι ενέργειες των 36px στο desktop έχουν περιοχή αφής 44px (όπως στο chat-lab: ::after inset -4px) χωρίς να μεγαλώνουν οπτικά */
@media(min-width:950px){.chat-message-tools button{position:relative}.chat-message-tools button::after{content:"";position:absolute;inset:-4px}}
/* Κύμα 3 (Iris) — chip παραπομπής: περιοχή αφής ≥44×44 στο κινητό (η εμφάνιση και η ροή του κειμένου μένουν ίδια)· οι αποστάσεις --ct/--cr/--cb/--cl τις βάζει το citeHit() όπου θα επικαλύπτονταν διπλανά chips */
@media(max-width:949px){.chat-cite::after{inset:calc(-1*var(--ct,12px)) calc(-1*var(--cr,12px)) calc(-1*var(--cb,12px)) calc(-1*var(--cl,12px))}}

/* 29/10 Επισκέπτης (app-guest.js): μετρητής «2 από 3» κάτω από το composer · «Λίγα δευτερόλεπτα ακόμα» στην κλήση · το wall (το .sheet του openPanel) */
.guest-count{margin:8px 0 0;text-align:center;font-size:12px;line-height:1.4;color:var(--ari-grey,#5f665a);font-variant-numeric:tabular-nums}
.guest-count+.footer{margin-top:4px}
.call-m-left{display:inline-flex;align-items:center;margin-top:8px;padding:4px 10px;border-radius:999px;background:var(--cm-s2,#1c2120);color:var(--cm-grey,#a3ada4);font-size:12px;line-height:1.4}
.is-desk .call-m-left{padding:4px 12px;background:var(--d-s2,#eef1ea);color:var(--d-grey,#5f665a)}
.voice-label .call-m-left{margin:0 0 0 8px;background:var(--soft,#f4f5f2);color:var(--ari-grey,#5f665a)}
.guest-wall p{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--ari-grey,#5f665a)}
.guest-wall .primary{width:100%}
/* 30/10 (Κύμα 2.6): φύλλο επιβεβαίωσης διαγραφής — το «Ακύρωση» κεντραρισμένο κάτω από το κουμπί, όπως τα bottom-link της Σύνδεσης */
.confirm-sheet .bottom-link{display:block;margin:16px auto 0;min-height:44px}.confirm-sheet .mock-input{width:100%}
/* ===== 30/10 Κύμα 3.5 (audit29) — αντιθέσεις, όριο 12px, περιοχές αφής. Μόνο εμφάνιση· καμία αλλαγή σε markup ή λογική. */
/* [35] Voice studio: η φράση προς εκφώνηση στο dark ίσχυε μόνο στο desktop (app.css, μέσα σε media query) */
html[data-theme="dark"] .screen .quote{color:#bdd1c1}
/* [36] όριο 12px + ένα γκρι: Business (κάρτα φωνών, μετρητές), Νέα υπενθύμιση, Skill, Studio */
.voice-promo-top .eyebrow,.voice-promo-copy,.voice-promo-cta,.voice-preview b,.voice-preview .voice-avatar,.metric span,.metric small,.reminder-field-label,.schedule-choice,.schedule-choice small,.reminder-notice,.prompt-actions,.create-prompt-actions .prompt-actions,.consent-row{font-size:12px}
.voice-preview small{font-size:12px;line-height:1.3;white-space:normal}
.metric span,.metric small,.consent-row{color:var(--ari-grey)}
:root:not([data-theme="dark"]) .prompt-actions{color:var(--ari-grey)}
/* [61] κόκκινες ενέργειες (Αποσύνδεση, Διαγραφή λογαριασμού, Ξέχνα όλες τις αναμνήσεις): ίδια απόχρωση, ≥4.5:1 */
.danger{color:#93594a!important}
html[data-theme="dark"] .danger{color:#d08c7a!important}
/* [37] περιοχή αφής ≥44px χωρίς να αλλάξει το μέγεθος που φαίνεται: διακόπτες, checkbox συναίνεσης (όλη η σειρά), αναζήτηση, text-link */
.toggle::before{content:"";position:absolute;inset:-12px -6px}
.consent-row{position:relative}.consent-row .checkbox::before{content:"";position:absolute;inset:-12px 0}.consent-row .checkbox:active{transform:none!important}
.search-box{padding-top:0;padding-bottom:0}.search-box input{min-height:45px}
.text-link{position:relative}.text-link::after{content:"";position:absolute;inset:-5px 0}
/* [31] ο τίτλος της αρχικής δεν κόβεται (fr/pt στα 360, el στα 320): αναδιπλώνεται ισορροπημένα */
@media(max-width:600px){.welcome h1{white-space:normal;text-wrap:balance;max-width:100%}}
/* W3 lazy Φάση Α (lazy.js): όσο φορτώνει η οθόνη «Η μέρα μου» / Dashboard, skeleton + πρόταση μέσα σε aria-live=polite· αν αποτύχει, πρόταση + «Try again». Όριο 12px, 48px το κουμπί. */
.lazy-st{width:min(360px,100%);margin:0;padding:28px 0}
.lazy-st .state-skeletons{margin-top:0}
.lazy-st p{margin:14px 0 0;font-size:14px;line-height:1.5;color:#5f665a}
html[data-theme="dark"] .lazy-st p{color:#a5ada6}
.lazy-st .primary{margin-top:16px;min-height:48px}
