/* FET / unified redesign. Hard edges, restrained typography, three existing themes. */
html,body { scroll-behavior: smooth; }
:root { --doll-base:#e7d3c7; --doll-stroke:#8a7571; --fet-space:clamp(22px,5.5vw,84px); }
html[data-theme="dark"] { --doll-base:#9d8b8a; --doll-stroke:#615557; }
html[data-theme="cute"] { --doll-base:#ead0c8; --doll-stroke:#a78585; }
.fet-header { min-height:76px; gap:18px; padding:0 var(--fet-space); position:sticky; z-index:40; top:0; background:var(--nav); }
.fet-brand { font-size:18px; font-weight:750; gap:10px; }
.fet-mark { display:inline-grid; width:33px; height:33px; place-items:center; background:var(--accent); color:var(--accent-contrast); font-size:21px; font-weight:800; }
.fet-primary-nav { display:flex; align-items:center; gap:clamp(10px,1.8vw,28px); margin-left:auto; }
.fet-primary-nav a { font-size:12px; font-weight:580; white-space:nowrap; color:var(--muted); transition:color .15s ease; }
.fet-primary-nav a:hover { color:var(--accent); }
.fet-header-actions { display:flex; align-items:center; gap:14px; }
.fet-signin { font-size:12px; font-weight:680; }
.fet-signup { padding:9px 12px; background:var(--accent); color:var(--accent-contrast); font-size:12px; font-weight:660; }
.fet-account { position:relative; flex:none; }
.fet-account>summary { cursor:pointer; list-style:none; padding:8px; font-size:12px; font-weight:670; white-space:nowrap; }
.fet-account>summary::-webkit-details-marker { display:none; }
.fet-account>summary span { color:var(--muted); margin-left:5px; }
.fet-dropdown { background:var(--surface); border:1px solid var(--border); position:absolute; right:0; top:calc(100% + 13px); min-width:205px; z-index:70; padding:8px; box-shadow:0 15px 40px #0002; }
.fet-dropdown a,.fet-dropdown button { width:100%; display:block; padding:9px 10px; color:var(--text); font-size:12px; text-align:left; background:transparent; border:0; }
.fet-dropdown a:hover,.fet-dropdown button:hover { color:var(--accent); background:var(--surface-raised); }
.fet-menu-toggle { display:none; color:var(--text); background:transparent; border:1px solid var(--border); padding:6px 10px; font-size:18px; }
.theme-switch button { font-size:11px; min-width:39px; padding:7px 8px; }
.fet-main { width:min(1420px,100%); margin:0 auto; padding:0 var(--fet-space) 90px; }
.fet-narrow { max-width:880px; padding-top:45px; }
.fet-overline { color:var(--accent); font-size:10px; letter-spacing:.22em; font-weight:770; margin-bottom:15px; }
.fet-hero { display:grid; grid-template-columns:1fr 1.02fr; min-height:580px; border-bottom:1px solid var(--border); }
.fet-hero-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:58px 7% 58px 0; }
.fet-hero h1 { font-weight:720; font-size:clamp(44px,5.8vw,93px); line-height:1.02; max-width:720px; letter-spacing:-.07em; margin:0 0 27px; }
.fet-hero h1 em { color:var(--accent); font-style:normal; }
.fet-lead { font-size:clamp(14px,1.3vw,19px); color:var(--muted); line-height:1.65; max-width:470px; }
.fet-hero-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:26px; }
.fet-btn { display:inline-flex; justify-content:center; align-items:center; gap:17px; min-height:44px; padding:10px 17px; border:1px solid var(--border); font-size:12px; font-weight:720; background:var(--surface); color:var(--text); cursor:pointer; }
.fet-btn-primary { background:var(--accent); border-color:var(--accent); color:var(--accent-contrast); }
.fet-btn-primary:hover { background:var(--button-hover); }
.fet-btn-outline:hover { border-color:var(--accent); color:var(--accent); }
.fet-hero-foot { margin-top:70px; font-size:10px; letter-spacing:.19em; color:var(--muted); }
.fet-hero-art { position:relative; background:var(--surface-raised); overflow:hidden; border-left:1px solid var(--border); display:grid; place-items:stretch; }
.fet-hero-art img { width:100%; height:100%; object-fit:cover; }
.fet-intro-bar,.fet-section-divider { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--border); font-size:10px; font-weight:750; color:var(--muted); letter-spacing:.17em; padding:27px 0 20px; margin-bottom:23px; }
.fet-feature-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.fet-feature-card { border:1px solid var(--border); background:var(--surface); min-width:0; position:relative; padding-bottom:20px; }
.fet-feature-card img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; background:var(--surface-raised); }
.fet-feature-card>div { padding:20px 19px 0; }
.fet-feature-card>div p { margin:0 0 9px; color:var(--accent); font-size:10px; font-weight:750; letter-spacing:.16em; }
.fet-feature-card h2 { font-size:clamp(19px,2.1vw,29px); font-weight:670; margin:0 0 7px; letter-spacing:-.04em; }
.fet-feature-card>div span { font-size:12px; color:var(--muted); }
.fet-feature-card>a { position:absolute; right:18px; bottom:14px; font-size:19px; color:var(--accent); }
.fet-locked { position:absolute; right:16px; bottom:17px; font-size:10px; color:var(--muted); }
.fet-feature-bottom { display:flex; gap:30px; align-items:center; justify-content:space-between; margin-top:90px; padding:42px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.fet-feature-bottom h2 { font-size:clamp(28px,4vw,51px); margin:0 0 10px; letter-spacing:-.055em; }
.fet-feature-bottom p:last-child { margin:0; color:var(--muted); font-size:13px; }
.fet-section-hero { min-height:390px; display:grid; grid-template-columns:1fr 1fr; gap:34px; border-bottom:1px solid var(--border); }
.fet-section-hero>div { padding:75px 0; align-self:center; }
.fet-section-hero h1,.fet-page-head h1,.fet-narrow>h1,.fet-main>h1 { font-size:clamp(38px,5vw,72px); letter-spacing:-.065em; line-height:1.05; font-weight:700; margin:0 0 22px; }
.fet-section-hero>img { width:100%; height:390px; object-fit:cover; }
.fet-section-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.85fr); gap:70px; padding:32px 0; }
.fet-section-content>p { color:var(--text); font-size:17px; max-width:670px; line-height:1.75; }
.fet-mini-links { display:flex; flex-direction:column; }
.fet-mini-links a { padding:17px 0; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; font-weight:650; font-size:13px; }
.fet-mini-links a:hover { color:var(--accent); }
.fet-page-head { display:flex; justify-content:space-between; align-items:end; gap:22px; margin:50px 0 35px; }
.fet-page-head h1 { margin-bottom:12px; }
.fet-page-head p:last-child { color:var(--muted); font-size:14px; }
.fet-filter { display:flex; gap:10px; align-items:stretch; padding:0 0 20px; flex-wrap:wrap; }
.fet-filter input,.fet-filter select { background:var(--surface); border:1px solid var(--border); padding:10px 13px; min-height:44px; color:var(--text); }
.fet-filter input { min-width:170px; flex:1; }
.fet-filter select { min-width:150px; }
.fet-styling-grid { display:grid; grid-template-columns:300px minmax(0,1fr); gap:33px; align-items:start; }
.fet-doll-panel { position:sticky; top:92px; border:1px solid var(--border); background:var(--surface); padding:17px; }
.fet-doll-canvas { background:var(--surface-raised); min-height:420px; position:relative; display:grid; place-items:center; overflow:hidden; }
.fet-doll-canvas>svg { width:78%; height:auto; max-height:380px; }
.fet-doll-layers { position:absolute; inset:0; pointer-events:none; }
.fet-doll-layer { position:absolute; border:1px solid var(--border); padding:2px 5px; font-size:10px; font-weight:650; background:var(--surface); opacity:.93; max-width:40%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fet-doll-layer[data-slot=top] { top:38%;left:31%; }
.fet-doll-layer[data-slot=bottom] { top:58%;left:35%; }
.fet-doll-layer[data-slot=dress] { top:48%;left:28%; }
.fet-doll-layer[data-slot=outer] { top:28%;left:25%; }
.fet-doll-layer[data-slot=legs] { top:74%;left:35%; }
.fet-doll-layer[data-slot=shoes] { bottom:5%;left:32%; }
.fet-doll-layer[data-slot=head] { top:8%;left:25%; }
.fet-doll-layer[data-slot=under] { top:52%;left:25%; }
.fet-doll-layer[data-slot=accessory] { top:19%;right:5%; }
.fet-doll-note { position:absolute; left:8px; right:8px; bottom:5px; font-size:9px; text-align:center; color:var(--muted); }
.fet-current-outfit { font-size:12px; color:var(--muted); margin-top:13px; }
.fet-current-outfit div { display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px solid var(--border); }
.fet-current-outfit button { background:transparent; border:0; color:var(--danger); }
.fet-outfit-save { display:grid; gap:8px; margin-top:16px; }
.fet-outfit-save input,.fet-editor-form input,.fet-editor-form textarea,.fet-editor-form select,.fet-message-compose textarea { background:var(--input); border:1px solid var(--border); color:var(--text); width:100%; min-height:42px; padding:10px 12px; }
.fet-saved-outfits { border-top:1px solid var(--border); margin-top:18px; padding-top:15px; display:grid; gap:9px; }
.fet-saved-outfits span { font-size:12px; }
.fet-product-grid,.fet-wish-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.fet-product-card,.fet-wish-card { border:1px solid var(--border); background:var(--surface); min-width:0; display:flex; flex-direction:column; }
.fet-product-image,.fet-wish-image { aspect-ratio:4/4.3; overflow:hidden; background:var(--surface-raised); display:grid; place-items:center; font-size:55px; color:var(--muted); }
.fet-product-image img,.fet-wish-image img { width:100%; height:100%; object-fit:contain; }
.fet-product-info,.fet-wish-body { padding:14px 13px; display:grid; gap:6px; }
.fet-product-info strong,.fet-wish-body>strong { font-size:12px; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.fet-product-info span,.fet-wish-body p:not(.fet-overline) { color:var(--muted); font-size:11px; margin:0; }
.fet-select-item { background:transparent; color:var(--accent); border:0; border-top:1px solid var(--border); text-align:left; margin-top:auto; padding:9px 13px; font-size:12px; font-weight:700; }
.fet-select-item:hover { background:var(--surface-raised); }
.fet-wish-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.fet-wish-body { flex:1; }
.fet-wish-body .fet-overline { margin-bottom:0; font-size:9px; }
.fet-wish-body>div:last-child { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:auto; }
.fet-wish-body>div a { color:var(--accent); font-size:11px; font-weight:750; }
.fet-add-panel { border:1px solid var(--border); padding:15px 20px; background:var(--surface); margin:30px 0; }
.fet-add-panel>summary { cursor:pointer; font-weight:700; font-size:13px; }
.fet-editor-form { display:grid; gap:11px; padding:20px 0 5px; }
.fet-editor-form label { font-size:12px; color:var(--muted); font-weight:670; }
.fet-editor-form textarea { min-height:95px; resize:vertical; }
.fet-editor-form .fet-btn { justify-self:start; }
.fet-editor-form input[type=checkbox] { min-height:0;width:auto; }
.fet-calendar-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr); gap:22px; }
.fet-calendar-grid-wrap { border:1px solid var(--border); background:var(--surface); padding:18px; }
.fet-calendar-controls { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.fet-calendar-controls button { border:1px solid var(--border); background:var(--surface-raised); color:var(--text); padding:8px 12px; }
.fet-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; }
.fet-day { border:1px solid var(--border); background:var(--surface-raised); min-height:70px; padding:7px; position:relative; font-size:11px; color:var(--muted); }
.fet-day[data-selected=true] { background:var(--surface); border-color:var(--accent); }
.fet-day.has-event:after { content:""; position:absolute; left:7px; right:7px; bottom:9px; height:4px; background:var(--accent); }
.fet-weekday { text-align:center; font-size:10px; color:var(--muted); font-weight:700; padding:8px 2px; }
.fet-calendar-list { border:1px solid var(--border); padding:21px; background:var(--surface); }
.fet-calendar-list h2 { font-size:18px; margin-bottom:20px; }
.fet-calendar-event { display:grid; gap:5px; border-top:1px solid var(--border); padding:12px 0; font-size:12px; }
.fet-calendar-event time,.fet-calendar-event span { font-size:11px; color:var(--muted); }
.fet-calendar-event p { margin:2px 0; }
.fet-mini-button { border:1px solid var(--border); padding:5px 8px; background:var(--surface-raised); color:var(--text); }
.fet-calendar-event form { display:flex;gap:8px; }
.fet-app-status { display:flex;justify-content:space-between; border:1px solid var(--border); padding:13px; margin:14px 0; }
.fet-narrow>.fet-lead { margin-bottom:25px; }
.fet-messages-list { height:min(62vh,550px); overflow-y:auto; border:1px solid var(--border); background:var(--surface); padding:18px; display:flex; flex-direction:column; gap:15px; }
.fet-message { max-width:85%; width:max-content; background:var(--surface-raised); border:1px solid var(--border); padding:12px 14px; overflow-wrap:anywhere; font-size:13px; }
.fet-message.is-mine { align-self:flex-end; border-color:var(--accent); }
.fet-message-meta { display:flex;gap:18px;justify-content:space-between;color:var(--muted);font-size:10px;margin-bottom:7px; }
.fet-message-compose { display:flex;align-items:end;gap:12px;margin-top:12px; }
.fet-message-compose textarea { min-height:65px; resize:vertical; }
.fet-admin-links { display:grid;gap:8px; }
.fet-admin-grid { grid-template-columns:repeat(3,minmax(0,1fr));margin:30px 0 40px; }
.fet-admin-links a { padding:18px; border:1px solid var(--border);background:var(--surface); display:flex;align-items:center;justify-content:space-between;gap:10px; }
.fet-admin-links a:hover { border-color:var(--accent); }
.fet-admin-links small { color:var(--muted); }
.fet-admin-section { border-top:1px solid var(--border);margin:36px 0;padding:23px 0; }
.fet-application-row { padding:19px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:30px; }
.fet-application-row div span { font-size:12px; color:var(--muted);margin-left:12px; }
.fet-application-row div p { font-size:13px;margin:10px 0; }
.fet-application-row form { display:flex;align-items:flex-start;gap:8px; }
.fet-detail { padding-top:40px; }
.fet-back { display:inline-block; color:var(--muted);margin:0 0 20px; font-size:12px; }
.fet-detail-grid { display:grid;grid-template-columns:1fr 1fr;gap:50px; }
.fet-detail-image { background:var(--surface-raised);min-height:400px;display:grid;place-items:center; }
.fet-detail-image img { width:100%;height:100%;max-height:550px;object-fit:contain; }
.fet-detail-grid h1 { font-size:40px; }
.fet-empty { color:var(--muted);font-size:13px; }
.fet-footer { background:var(--nav);border-top:1px solid var(--border);padding:23px var(--fet-space);display:flex;justify-content:space-between;align-items:center;gap:17px;font-size:11px;color:var(--muted); }
.quick-chat { position:fixed;bottom:0;right:24px;z-index:90;width:min(310px,calc(100vw - 28px));background:var(--surface);border:1px solid var(--border);box-shadow:0 0 18px #0002; }
.quick-chat-toggle { width:100%;background:var(--accent);border:0;color:var(--accent-contrast);font-weight:700;padding:10px 13px;text-align:left;display:flex;align-items:center;gap:10px; }
.quick-chat-plus { margin-left:auto; }
.quick-chat-panel { padding:12px; }
.quick-chat-head { display:flex;justify-content:space-between;align-items:center;font-size:13px; }
.quick-chat-head button { border:0;background:transparent;color:var(--text);font-size:24px; }
.quick-chat-preview { font-size:11px;color:var(--muted);padding:12px 0; }
.quick-chat-panel textarea { width:100%;padding:9px;background:var(--input);border:1px solid var(--border);color:var(--text);min-height:70px; }
.quick-chat-panel form>div { display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:11px; }
.quick-chat-panel form>div a { color:var(--accent); }
.quick-chat-panel .fet-btn { min-height:34px;padding:7px 12px; }
@media(max-width:1280px) {
  .fet-primary-nav { gap:12px; }
  .fet-primary-nav a { font-size:11px; }
  .fet-header { gap:9px; }
  .fet-brand { font-size:15px; }
  .fet-header-actions { gap:8px; }
}
@media(max-width:1020px) {
  .fet-menu-toggle { display:block; }
  .fet-primary-nav { display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);padding:18px var(--fet-space);flex-wrap:wrap;justify-content:flex-start;gap:20px; }
  .fet-primary-nav.is-open { display:flex; }
  .fet-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fet-styling-grid { grid-template-columns:280px minmax(0,1fr);gap:16px; }
  .fet-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fet-wish-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .fet-admin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:680px) {
 .fet-header { min-height:65px; }
 .fet-header-actions .theme-switch { display:none; }
 .fet-hero,.fet-section-hero,.fet-detail-grid { grid-template-columns:1fr; }
 .fet-hero { min-height:0; }
 .fet-hero-copy { padding:68px 0 40px; }
 .fet-hero-foot { margin-top:35px; }
 .fet-hero-art { border-left:0;min-height:310px; }
 .fet-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
 .fet-feature-card>div { padding:12px 12px 0; }
 .fet-feature-card>div span { font-size:10px; }
 .fet-feature-card h2 { font-size:21px; }
 .fet-feature-bottom { display:block;margin-top:50px; }
 .fet-feature-bottom .fet-btn { margin-top:20px; }
 .fet-section-hero>div { padding:42px 0 5px; }
 .fet-section-hero>img { height:250px; }
 .fet-section-content { grid-template-columns:1fr;gap:30px; }
 .fet-page-head { margin-top:34px; }
 .fet-styling-grid { grid-template-columns:1fr; }
 .fet-doll-panel { position:relative;top:0; }
 .fet-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .fet-wish-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .fet-calendar-layout { grid-template-columns:1fr; }
 .fet-day { min-height:56px; padding:4px; }
 .fet-admin-grid { grid-template-columns:1fr; }
 .fet-application-row,.fet-message-compose { flex-direction:column;align-items:stretch; }
 .fet-footer { flex-wrap:wrap; padding-bottom:60px; }
 .quick-chat { right:10px; }
}
@media(max-width:380px) {
 .fet-feature-grid,.fet-product-grid,.fet-wish-grid { grid-template-columns:1fr 1fr; }
 .fet-brand .wordmark-tail { display:none; }
 .fet-account>summary { font-size:11px; }
 .fet-header-actions { gap:4px; }
}

.fet-doll-layer { display:flex; align-items:center; max-width:48%; gap:4px; padding:3px; }
.fet-doll-layer img { width:35px; height:37px; object-fit:contain; background:#fff; flex:none; }
.fet-doll-layer span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
