#stage .aw-widget{display:flex;flex-direction:column;gap:12px;min-width:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif}
#stage .aw-head{display:flex;align-items:center;gap:9px;min-height:36px}
#stage .aw-art{width:36px;height:36px;object-fit:contain;flex:none;border-radius:var(--r-mini);pointer-events:none}
#stage .aw-label{font-size:12px;color:var(--ink-2);font-weight:500}
#stage .aw-title{font-size:22px;line-height:1.16;letter-spacing:var(--tr-22);margin:0;background:none;-webkit-text-fill-color:currentColor;display:block}
#stage .tile .aw-description,#stage .tile .aw-subtitle{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0;font-size:13px;line-height:1.4;color:var(--ink-2);opacity:1}
#stage .aw-counts{display:flex;gap:30px;margin:5px 0}
#stage .aw-counts>div{display:flex;flex-direction:column;gap:4px}
#stage .aw-counts strong{font-size:40px;font-weight:600;letter-spacing:var(--tr-26)}
#stage .aw-counts small,#stage .aw-meta{font-size:11px;color:var(--ink-2);line-height:1.4}
#stage .aw-meta{margin-top:auto}
#stage .aw-items{list-style:none;padding:0;margin:0;display:grid}
#stage .aw-items li{padding:9px 0;border-bottom:1px solid var(--sep);font-size:13px;line-height:1.3}
#stage .aw-dock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#stage .aw-widget[data-role=catalog] .aw-dock{grid-template-columns:repeat(2,minmax(0,1fr))}
#stage .aw-app{display:flex;align-items:center;flex-direction:column;gap:8px;padding:10px 5px;background:var(--chip);border:0;border-radius:var(--r-menu);color:inherit;cursor:pointer;min-width:0;font:inherit}
#stage .aw-app span{font-size:11px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:center}
#stage .aw-launch{display:block;padding:10px 12px;border-radius:var(--r-field);text-align:center;background:var(--accent);color:white;text-decoration:none;font-size:13px;font-weight:600;min-height:38px}
#stage .aw-back{border:0;background:none;color:var(--accent);padding:6px 0;font:500 12px/1.3 -apple-system,system-ui;align-self:flex-start;cursor:pointer}
#stage .aw-widget button:focus-visible,#stage .aw-launch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
#stage .tile.surface-peer:has(.aw-widget){width:268px;height:auto;min-height:190px;padding:18px;border-radius:var(--r-surface)}
#stage .tile.surface-hero:has(.aw-widget){width:316px;height:auto;min-height:270px;padding:20px;border-radius:var(--r-surface)}
#stage .aw-widget[data-size=mini]{gap:6px}
#stage .aw-widget[data-size=mini] .aw-art{width:28px;height:28px}
#stage .aw-widget[data-size=mini] .aw-title{font-size:15px}
#stage .aw-widget[data-size=mini] .aw-label,#stage .aw-widget[data-size=mini] .aw-meta{font-size:11px}
#stage .aw-widget[data-size=mini] .aw-description{display:none}
#stage .aw-widget[data-size=mini] .aw-counts strong{font-size:28px}
#stage .tile:has(.aw-widget) .surface-pages{margin-top:12px;border-top:1px solid var(--sep);padding-top:10px}
@media(max-width:650px){#stage .tile.surface-hero:has(.aw-widget){width:260px;padding:16px}#stage .tile.surface-peer:has(.aw-widget){width:240px;padding:16px}}

#projects-pill{font:inherit;color:inherit;background:none;border:0;padding:8px 10px;cursor:pointer;border-radius:var(--r-field)}#projects-pill:hover{background:var(--chip)}#projects-pill:disabled{opacity:.45;cursor:default}

/* Shared app lens: the same world recedes, no second canvas or modal.
   canon1 [materials]: de-glassed to the standard light underlay — the glass budget
   stays with the header, chat, palette and the history sheet. */
/* bar1 (24.09): локация — flex-элемент полосы сразу за пространствами;
   один слой хрома, HIG navigation-and-search (хлебная крошка у навигации) */
#app-location{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 24px);height:34px;padding:0 12px;border-radius:var(--r-tile);background:var(--glass-2);backdrop-filter:blur(var(--glass-blur)) saturate(var(--lg-sat));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--lg-sat));border:0;box-shadow:var(--lg-line),var(--lg-spec),var(--lg-edge-lo),0 8px 26px rgba(0,0,0,.18);font:13px -apple-system,system-ui;color:var(--ink-2)}
#app-location[hidden]{display:none}
#app-location button{border:0;background:none;font:inherit;cursor:pointer;min-height:44px;color:var(--accent)}
#app-location-title{font-weight:600!important;color:var(--ink)!important}#app-location small{white-space:nowrap;color:var(--ink-2)}
#stage .app-unrelated{filter:blur(3px);transition:filter 0.22s cubic-bezier(.2,1,.3,1)}
/* 28.09: filter-переход не заменяет box-shadow-переход ховера/сборки (style.css) — свойство не аддитивное */
#stage .tile{transition:filter 0.22s ease,box-shadow 0.22s cubic-bezier(.2,1,.3,1)}
#stage .aw-launch{border:0;font-family:inherit;cursor:pointer;min-height:44px}
#stage .aw-external{font-size:11px;color:var(--ink-2);text-decoration:none;min-height:28px}
#stage .ax-experience{display:flex;flex-direction:column;gap:8px;min-width:0}
#stage .ax-timer{font-size:40px;font-weight:500;letter-spacing:var(--tr-26);line-height:1;font-variant-numeric:tabular-nums}
#stage .ax-state,#stage .ax-empty{font-size:12px;color:var(--ink-2)}
#stage .ax-controls{display:flex;flex-wrap:wrap;gap:6px}
#stage .ax-button{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:0;border-radius:var(--r-field);background:var(--chip);color:var(--accent);font:500 12px -apple-system,system-ui;cursor:pointer}
#stage .ax-button:disabled{opacity:.45;cursor:default}
#stage .ax-metrics{display:flex;gap:18px}#stage .ax-metrics>div{display:grid;gap:6px}#stage .ax-metrics strong{font-size:28px;letter-spacing:var(--tr-26);font-variant-numeric:tabular-nums}#stage .ax-metrics span{font-size:11px;color:var(--ink-2)}
#stage .ax-photo-frame{height:144px;border-radius:var(--r-tile);overflow:hidden;background:var(--chip);position:relative}
#stage img.ax-photo{width:100%;height:100%;object-fit:cover;position:static;display:block;border-radius:0}
#stage .ax-empty-photo{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;font-size:13px;color:var(--ink-3)}
#stage .ax-photo-symbol{font-size:34px;font-weight:200}#stage .ax-photo[hidden],#stage .ax-empty-photo[hidden]{display:none}
#stage .ax-file{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
#stage .ax-week{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
#stage button.ax-day{border:0;border-radius:var(--r-field);background:var(--chip);min-height:44px;color:var(--ink-2);font:500 12px -apple-system,system-ui;cursor:pointer}
#stage button.ax-day[aria-pressed=true]{background:var(--accent);color:#fff}
#stage .ax-day:focus-visible,#stage .ax-button:focus-visible,#app-location button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#stage .tile .ax-copy,#stage .tile .ax-garments{display:block;opacity:1;font-size:13px;line-height:1.5;color:var(--ink-2);margin:0}
#stage .ax-local,#stage .ax-error{font-size:11px;line-height:1.4;color:var(--ink-3)}
#stage .ax-garment-form{display:grid;gap:8px}#stage .ax-garment{width:100%;min-height:44px;border:1px solid var(--sep);border-radius:var(--r-field);padding:8px;font:13px -apple-system,system-ui}
#stage .aw-widget[data-size=mini] .ax-photo-frame{height:90px}
#stage .aw-widget[data-size=mini] .ax-timer{font-size:28px}
#stage .aw-widget[data-size=mini] .ax-local{display:none}
@media(max-width:650px){#app-location{top:60px;width:max-content;font-size:11px}#app-location small{display:none}#stage .ax-photo-frame{height:140px}}
@media(prefers-reduced-motion:reduce){#stage .tile{transition:none cubic-bezier(.2,1,.3,1)}}
body.in-application>header .head-actions,body.in-application>header>small{display:none}
/* (bar1: репозиция в правый угол отменена — центр полосы) */
@media(max-width:650px){#app-location{top:60px;left:12px;right:12px;width:auto;justify-content:center}}

#stage strong.ax-day{font-size:13px;font-weight:500}
#stage .tile .ax-garments{height:42px;overflow:auto;overflow-wrap:anywhere}

/* Reserved content height keeps the sphere's measured seats stable after edits. */
#stage .tile .ax-outfit{display:block;height:40px;overflow:auto;margin:0;color:var(--ink-2);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
#stage .ax-garment-list{height:96px;overflow-y:auto;overscroll-behavior:contain;border-block:1px solid var(--sep)}
#stage .ax-garment-row{display:flex;align-items:center;gap:4px;min-height:44px;border-bottom:1px solid var(--chip)}
#stage .ax-garment-choice{display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:44px;font-size:12px;cursor:pointer}
#stage .ax-garment-choice span{overflow-wrap:anywhere}
#stage .ax-garment-choice input{width:18px;height:18px;flex:none;accent-color:var(--accent)}
#stage .ax-remove{width:44px;min-height:44px;border:0;background:none;color:var(--ink-2);font:22px -apple-system,system-ui;cursor:pointer;flex:none}
#stage .ax-day[data-filled=true]::after{content:'';display:block;width:4px;height:4px;margin:4px auto 0;background:currentColor;border-radius:50%}
#stage button.ax-day{height:52px}
#stage .ax-local{min-height:28px}
#stage .ax-save{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:6px;min-height:44px}
#stage .ax-save .ax-local{grid-column:1;min-height:0;color:var(--ink-2)}
#stage .ax-save .ax-button{grid-column:2;min-width:44px;font-size:20px}
#stage .ax-save-error{color:var(--danger)}
#stage .ax-save .ax-save-error{color:var(--danger)}
#stage .ax-error{min-height:14px}
#stage .ax-experience [hidden]{display:none!important}
#stage .ax-experience :is(input,button):focus-visible,#stage .ax-button:focus-within{outline:2px solid var(--accent);outline-offset:2px}
#stage .tile .ax-history{display:block;height:66px;overflow:auto;margin:0;font-size:12px;line-height:1.7;white-space:pre-line;color:var(--ink-2)}

/* E2 project passport: Settings-style fact rows and the canonical document list. */
#stage .aw-passport{display:grid;border-top:1px solid var(--sep)}
#stage .aw-fact{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--sep)}
#stage .aw-fact-label{font-size:12px;color:var(--ink-2);flex:none}
#stage .aw-fact-value{font-size:13px;font-weight:600;color:var(--ink);text-align:right;overflow-wrap:anywhere}
#stage button.aw-fact-value{border:0;background:none;font:600 13px -apple-system,system-ui;color:var(--accent);cursor:pointer;padding:0;min-height:0}
#stage .aw-docs{display:grid}
#stage .aw-docs-cap{font-size:11px;color:var(--ink-2);margin:2px 0 4px}
#stage .aw-doc{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--sep)}
#stage .aw-doc:last-child{border-bottom:0}
#stage button.aw-doc-title{flex:1;min-width:0;border:0;background:none;font:500 13px/1.3 -apple-system,system-ui;color:var(--ink);text-align:left;cursor:pointer;padding:0;min-height:0;overflow-wrap:anywhere}
#stage .aw-doc-meta{flex:none;font-size:11px;color:var(--ink-3)}
#stage button.aw-doc-read{flex:none;border:0;background:var(--chip);border-radius:var(--r-mini);padding:6px 10px;font:500 11px -apple-system,system-ui;color:var(--accent);cursor:pointer;min-height:0}
#stage button.aw-doc-read:focus-visible,#stage button.aw-doc-title:focus-visible,#stage button.aw-fact-value:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#stage .aw-widget[data-size=mini] .aw-passport,#stage .aw-widget[data-size=mini] .aw-docs{display:none}

/* A project is a compact entry point; its document count must not set its height. */
#stage .aw-widget[data-role=project][data-size=full]{gap:8px}
#stage .tile .aw-widget[data-role=project] .aw-description{-webkit-line-clamp:2}
#stage .aw-docs-scroll{max-height:144px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c7c7cc transparent;touch-action:pan-y;min-width:0;padding:2px}
#stage .aw-docs-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-mini)}
#stage .aw-docs-scroll .aw-doc{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:0 8px;min-height:44px;padding:4px 0}
#stage .aw-docs-scroll .aw-doc-title{grid-column:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
#stage .aw-docs-scroll .aw-doc-meta{grid-column:1;grid-row:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}
#stage .aw-docs-scroll .aw-doc-read{grid-column:2;grid-row:1 / 3;min-height:44px;padding:6px 8px}
#stage .aw-widget[data-role=catalog] .aw-dock{grid-template-columns:repeat(4,minmax(0,1fr))}
#stage .aw-widget[data-role=catalog] .aw-app{padding:8px 2px;gap:4px}
#stage .aw-widget[data-role=catalog] .aw-app .aw-art{width:28px;height:28px}

#stage .aw-widget[data-role=catalog] .aw-app span{min-width:0;max-width:100%;overflow-wrap:anywhere}

/* Content families keep bounded previews; full source stays one action away. */
#stage .aw-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
#stage .aw-widget[data-size=mini] .aw-title{-webkit-line-clamp:2}
#stage .aw-widget[data-role=document] .aw-back{min-height:44px;display:flex;align-items:center;padding:0}
#stage .aw-read{min-height:44px;border:0;border-radius:var(--r-field);padding:10px 12px;background:var(--chip);color:var(--accent);font:600 13px/1.3 -apple-system,system-ui;cursor:pointer;text-align:center}
#stage .aw-items{max-height:132px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#c7c7cc transparent;padding:0 2px}
#stage .aw-items li{overflow-wrap:anywhere}
#stage .aw-items:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-mini)}
#stage .aw-app span{overflow-wrap:anywhere}

#stage .aw-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#stage .aw-actions .aw-read{flex:1}
/* e4b (Phil 19.09): the passport's events list — quiet rows, human time, the
   unread few carry weight; opening the passport reads them (Mail rule). */
#stage .aw-events{display:grid;margin-top:8px}
#stage .aw-events-scroll{display:grid;gap:2px;max-height:132px;overflow-y:auto}
#stage .aw-event{display:flex;gap:8px;align-items:baseline;padding:6px 8px;border-radius:var(--r-mini);font-size:12px;color:var(--ink-2)}
#stage .aw-event.is-unread{color:var(--ink);background:rgba(0,122,255,.07);font-weight:500}
#stage .aw-event-when{flex:none;font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}
#stage .aw-event.is-unread .aw-event-when{color:var(--accent)}

/* e5 (Phil 19.09, wave E5): the write-back panel. The switch is always reachable;
   every write control carries .aw-e5 and stays hidden until the session arms
   recording — read-only is the platform's default face. */
#stage .aw-e5-arm{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0}
#stage .aw-e5-arm-note{font-size:12px;color:var(--ink-2)}
#stage .aw-e5-switch{position:relative;flex:none;width:44px;height:27px;border:0;border-radius:var(--r-menu);background:var(--chip);cursor:pointer;padding:0;transition:background .22s cubic-bezier(.2,1,.3,1)}
#stage .aw-e5-switch .aw-e5-knob{position:absolute;top:2px;left:2px;width:23px;height:23px;border-radius:50%;background:#fff;box-shadow:var(--shadow-1);transition:transform .3s cubic-bezier(.34,1.28,.4,1)}
body.e5-armed #stage .aw-e5-switch{background:var(--accent)}
body.e5-armed #stage .aw-e5-switch .aw-e5-knob{transform:translateX(17px)}
#stage .aw-e5-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
body:not(.e5-armed) #stage .aw-e5{display:none!important}
#stage .aw-e5-box{display:grid;gap:8px}
#stage .aw-e5-cap{font-size:11px;color:var(--ink-2)}
#stage .aw-e5-open{border:0;background:var(--chip);border-radius:var(--r-field);padding:8px 12px;font:500 12px -apple-system,system-ui;color:var(--accent);cursor:pointer;min-height:0;align-self:flex-start}
#stage .aw-e5-text,#stage .aw-e5-input,#stage .aw-e5-select{width:100%;box-sizing:border-box;border:1px solid var(--sep);border-radius:var(--r-field);padding:8px 10px;font:13px/1.4 -apple-system,system-ui;color:var(--ink);background:#fff}
#stage .aw-e5-text{min-height:66px;resize:vertical}
#stage .aw-e5-input{min-height:36px}
#stage .aw-e5-select{min-height:36px;appearance:auto}
#stage .aw-e5-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#stage .aw-e5-btn{border:0;background:var(--chip);border-radius:var(--r-field);padding:8px 12px;font:500 12px -apple-system,system-ui;color:var(--accent);cursor:pointer;min-height:0}
#stage .aw-e5-btn.aw-e5-primary{background:var(--accent);color:#fff;font-weight:600}
#stage .aw-e5-btn:disabled{opacity:.45;cursor:default}
#stage .aw-e5-preview{display:grid;gap:6px;background:var(--chip);border-radius:var(--r-field);padding:10px 12px}
#stage .aw-e5-preview small{font-size:11px;color:var(--ink-2)}
#stage .aw-e5-preview p{margin:0;font-size:13px;line-height:1.4;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
#stage .aw-e5-fact{display:grid;gap:2px}
#stage .aw-e5-fact small{font-size:11px;color:var(--ink-3)}
#stage .aw-e5-fact b{font-size:12px;font-weight:500;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
#stage .aw-e5-error{margin:0;font-size:12px;line-height:1.4;color:var(--danger)}
#stage .aw-e5-status{margin:0;font-size:12px;line-height:1.4;color:var(--ink-2)}
#stage .aw-e5 :is(button,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#stage .aw-widget[data-size=mini] .aw-e5-arm,#stage .aw-widget[data-size=mini] .aw-e5-box{display:none}
@media(prefers-reduced-motion:reduce){#stage .aw-e5-switch,#stage .aw-e5-switch .aw-e5-knob{transition:none cubic-bezier(.2,1,.3,1)}}
/* deep1 (Phil 19.09 «широкая и глубокая»): the living faces — each project card
   carries its chat's last line (a user line awaiting the agent glows); the
   catalog root pulses with the freshest platform line. */
#stage .aw-lastchat,#stage .aw-pulse{display:flex;gap:8px;align-items:baseline;margin-top:8px;padding:7px 9px;border-radius:var(--r-field);background:var(--chip);font-size:12px;color:var(--ink-2);min-width:0}
#stage .aw-lastchat .aw-lastchat-text,#stage .aw-pulse .aw-lastchat-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#stage .aw-lastchat.is-pending{background:rgba(255,149,0,.1)}
#stage .aw-lastchat.is-pending .aw-event-when{color:var(--acc-orange)}
#stage .aw-pulse{margin-top:10px;background:rgba(0,122,255,.07)}
#stage .aw-pulse .aw-event-when{color:var(--accent)}
/* Канон знака v1 (Фил 01.10): серия-док expanded-героя — семья = состав
   (App Library-идиом). Микро-ряд macOS Dock: 18px знаки, единый r, тап-зона 34px. */
.aw-ser{display:flex;align-items:center;gap:3px;margin:2px 0 4px;flex:none}
.aw-mini{position:relative;width:34px;height:34px;padding:8px;flex:none;border-radius:var(--r-mini);transition:transform .22s cubic-bezier(.2,1,.3,1)}
.aw-mini img{width:18px;height:18px;border-radius:5px;object-fit:cover;display:block;box-shadow:var(--shadow-1)}
.aw-mini:hover{transform:scale(1.35) translateY(-2px);z-index:3}
.aw-mini.chat::after{content:'';position:absolute;right:7px;top:7px;width:6.5px;height:6.5px;border-radius:50%;background:var(--acc-orange,var(--acc-orange));border:1.5px solid #fff}
[data-theme=dark] .aw-mini.chat::after{border-color:#242428}
@media(prefers-reduced-motion:reduce){.aw-mini{transition:none cubic-bezier(.2,1,.3,1)}}
