/* Shared beige surfaces across the public site and signed-in workspace. */
:root{--cream:#f7f0e4;--beige:#f7f0e4;--beige-panel:#fcf7ef;--beige-active:#eee1cc;--line:#dfd2bd}
html,body,#view,.route-root,header.app-header,footer,.hero,.soft-bg,.page-head,.learning-home,.mess-shell,.mess-list,.message-list,.classroom-shell{background:var(--beige)}
.search-panel,.subject,.empty,.room-sample,.price-box,.notice,.cta,.class-card,.note,.call-form,.prejoin,.call-sidebar,.waiting-person,.composer-invitation,.feed-card,.account-card,.connection-filter,.contact-result,.service-chips button,.gift-heading,.gift-target,.gift-card,.gift-explanation,.gift-empty,.gift-art,dialog,.notification-toast,.bug-button,.app-dock,.call-toolbar{background:var(--beige-panel);color:var(--ink)}
.pilot-banner{background:var(--beige-active);color:var(--ink);border-bottom:1px solid var(--line)}.pilot-banner span{color:var(--muted)}
.cta p,.gift-balance p,.gift-balance small{color:var(--muted)}.gift-balance{background:var(--beige-active);color:var(--ink)}
input,textarea,.device-grid select,.connection-filter input,.connection-filter select,.outline,.gift-heart,.feed-filters button,.feed-filters>a,.composer-invitation button{background:var(--beige-panel);color:var(--ink)}
.prices-table thead,.conversation-item.active,.answer.accepted,.notification-item.unread,.chat-message.mine,.dm-message.own{background:var(--beige-active);color:var(--ink)}
.chat-message,.dm-message{background:var(--beige-panel);color:var(--ink)}
.class-card{border-color:var(--beige-panel)}footer{border-color:var(--line)}

/* Green accents complement the beige surfaces and supplied gecko logo. */
:root{--green:#176340;--accent:#237448;--accent-hover:#185a36;--accent-soft:#e5edda;--coral:#237448}
.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 0 #164c2d18}.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.hero h1 em,.eyebrow,.text-button:not(.danger-text),.verified-mark,.app-dock a.active{color:var(--green)}
.hero h1 em{text-decoration:underline;text-decoration-color:#bfd48c;text-decoration-thickness:5px;text-underline-offset:9px}
.feed-filters button.selected{background:var(--accent);color:#fff;border-color:var(--accent)}
.outline:hover,.subject:hover,.service-chips button:hover,.app-dock a.active{background:var(--accent-soft);border-color:#9fbd87}
.cta,.price-box{border-left:4px solid #7ea45b}.notice{border-left:3px solid #94af72}.step-num{color:var(--green);border-color:#b7c99c}
.conversation-item.active,.answer.accepted,.notification-item.unread{border-left:3px solid #5d965b}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--accent)}

/* Compact green footer with readable contrast. */
footer{max-width:none;margin:0;padding:25px max(24px,calc((100vw - 1140px)/2));display:grid;grid-template-columns:minmax(250px,1fr) minmax(260px,1fr);gap:25px;background:#185b3b;color:#f8f4e9;align-items:start;border:0}footer p,footer small{color:#e1ebda}footer p{margin:8px 0;font-size:12px}footer>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 20px;align-items:start;justify-items:start}footer>div:last-child a{font-size:12px}footer>div:last-child small{grid-column:1/-1;font-size:10px}footer .brand-art{width:165px}footer .brand-art>img{max-height:58px}footer a:hover{color:#d4ed9b}.issued-code{display:block;font-size:30px;letter-spacing:4px;color:var(--green);padding:12px 0}.consultation-form{max-width:700px;margin:auto}.consultation-form textarea{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;resize:vertical}.consultation-trap{display:none}
@media(max-width:720px){footer{grid-template-columns:1fr;padding:24px 22px 100px;gap:18px}footer>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Legible desktop text and text-only navigation. */
.public-intro{max-width:1100px;margin:auto;padding:60px 25px}.public-intro>p{max-width:780px}.public-intro h1{font-size:clamp(34px,4vw,52px);letter-spacing:-1.4px}.public-status{font-size:15px}.subject strong,.subject small{display:block}.subject small{margin-top:10px}.app-dock>a>span:first-child,.subject-icon,.empty-mark,.spark,.round-icons{display:none}.hero-notes span:before,.feature-line:before{content:none}.eyebrow{letter-spacing:1px}.public-intro .hero-buttons{flex-wrap:wrap}
@media(min-width:900px){body{font-size:16px;line-height:1.75}p,.hero-copy>p,.page-head p,.account-card p,.feed-card p,.doc-page p,.mess-thread p{font-size:16px}nav,.header-actions,.app-dock a,.primary,.outline,.secondary,button,input,select,textarea,form label,.filters label,.search-panel label{font-size:15px}small,.fine-print,.pill,.eyebrow,.contact-code,.status,footer p,footer a,footer>div:last-child a,footer small,footer>div:last-child small{font-size:13px}.pilot-banner{font-size:12px}.feed-filters button,.feed-filters>a,.composer-invitation button,.conversation-item small{font-size:14px}.steps p{font-size:16px}}

/* Prevent narrow layouts from colliding with fixed navigation or adjacent panels. */
*{min-width:0}img,video{max-width:100%}.feed-main,.mess-thread,.account-card{overflow-wrap:anywhere}.feed-welcome{flex-wrap:wrap}.composer-invitation button{white-space:normal}.mess-list,.mess-thread{min-width:0}
@media(max-width:720px){.app-header{display:flex;flex-wrap:wrap;gap:12px;padding:14px 16px}.app-header .brand-art{width:140px}.header-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:100%;margin-left:auto}.header-actions button{padding:9px 12px}.notice-link{font-size:12px}.app-dock{gap:0;padding:12px 3px;bottom:0;border-radius:14px 14px 0 0}.app-dock a{flex:1;padding:6px 2px;font-size:11px;text-align:center;white-space:nowrap}body{padding-bottom:75px}.public-only{padding-bottom:0}.bug-button{bottom:78px}.public-only .bug-button{bottom:12px}.feed-welcome h1{font-size:25px;line-height:1.4}.public-intro{padding:32px 20px}.public-intro h1{font-size:34px}.hero-buttons>*{max-width:100%}.mess-shell{height:auto;margin:10px;display:block}.mess-thread{min-height:430px;height:auto}.message-list{min-height:200px;max-height:55dvh;overflow:auto}.send-message{position:static;display:flex;align-items:end}.send-message textarea{flex:1;min-width:0}.notification-toast{top:130px}.consultation-form{padding:20px}dialog{max-height:calc(100dvh - 30px);overflow:auto;padding:26px 20px}.thread-heading{flex-wrap:wrap;gap:10px}.thread-actions{flex-wrap:wrap}}

.feed-empty-preview{border:1px solid var(--line);border-radius:16px;background:var(--beige-panel);padding:24px;margin-top:20px}.feed-empty-preview>div{height:35px;width:35px;border-radius:50%;background:#e7dfd1}.feed-empty-preview>span{display:block;height:10px;background:#e7dfd1;border-radius:5px;margin-top:14px;width:70%}.feed-empty-preview>span+span{width:45%}.feed-empty-preview>section{height:160px;border-radius:10px;background:#eee7da;margin-top:20px}.thread-empty-preview{height:55px;border-radius:10px;background:linear-gradient(90deg,#ebe3d6 38px,transparent 38px);border-bottom:1px solid var(--line);margin:15px 0;opacity:.6}
