/* E-owned UI v1.5. Standalone scoped presentation, loaded by A after review.
   Visuals come only from an A-public allowlisted source or static demonstration.
   No CSS selector outside .as60-ux-root. */
.as60-ux-root,.as60-ux-root *,.as60-ux-root *::before,.as60-ux-root *::after{box-sizing:border-box}
.as60-ux-root{--as60-dialogue-font:19px;--as60-ink:#162749;--as60-pink:#d4548b;position:relative;isolation:isolate;width:100%;height:var(--as60-vh,100dvh);overflow:hidden;background:#282b41;color:#fff4f7;font-family:'Hiragino Kaku Gothic ProN','Noto Sans CJK JP',sans-serif;-webkit-tap-highlight-color:transparent}
.as60-ux-root button,.as60-ux-root input{font:inherit}.as60-ux-root button{cursor:pointer}.as60-ux-root button:focus-visible,.as60-ux-root input:focus-visible{outline:3px solid #fff3a5;outline-offset:2px}.as60-ux-root button:disabled{cursor:default;opacity:.56}.as60-ux-root [hidden]{display:none!important}
.as60-ux-sr{position:absolute!important;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.as60-ux-scene{position:absolute;inset:0;z-index:0;overflow:hidden;background:#4b394c}.as60-ux-background{position:absolute;inset:-1%;background-image:var(--as60-demo-background,none);background-size:cover;background-position:center 49%;filter:contrast(1.05) saturate(1.09)}
.as60-ux-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,12,35,.10),transparent 58%,rgba(20,14,42,.12)),linear-gradient(0deg,rgba(20,13,31,.50),transparent 38%,rgba(28,14,33,.11) 75%,rgba(20,12,32,.25))}
.as60-ux-character{position:absolute;z-index:1;left:clamp(-120px,-2vw,0px);top:clamp(-18px,0vh,20px);height:100%;width:min(68vw,790px);pointer-events:none;overflow:visible;filter:drop-shadow(0 8px 16px rgba(52,20,38,.26))}
.as60-ux-portrait{position:absolute;display:block;width:min(69vw,790px);height:auto;max-width:none;left:0;top:0}
.as60-ux-top-tools button{display:grid;place-items:center;width:43px;height:43px;border:1px solid rgba(255,255,255,.62);border-radius:50%;color:white;background:rgba(31,27,47,.26);font-size:22px;backdrop-filter:blur(5px);box-shadow:0 3px 12px #0002}
.as60-ux-top-tools button:hover{background:rgba(43,32,66,.65)}
.as60-ux-bottom{position:absolute;z-index:7;left:clamp(16px,4.5vw,74px);right:clamp(16px,4.5vw,74px);bottom:clamp(14px,2.5vh,28px);display:flex;flex-direction:column;gap:10px}
.as60-ux-dialogue{position:relative;background:rgba(255,248,252,.72);border:1px solid rgba(255,231,241,.72);border-radius:10px;padding:36px clamp(20px,4vw,56px) 15px;box-shadow:0 5px 18px rgba(32,15,39,.20);backdrop-filter:blur(2px);min-height:148px;max-height:200px;overflow-y:auto;overscroll-behavior:contain;color:var(--as60-ink)}
.as60-ux-dialogue::before{content:none;position:absolute;bottom:2px;left:15px;font-size:39px;line-height:1;color:#f1a6c7aa}.as60-ux-dialogue::after{content:none;position:absolute;bottom:2px;right:15px;font-size:38px;line-height:1;color:#eaa7c89a}.as60-ux-namebar{position:absolute;top:-1px;left:18px;min-width:235px;max-width:calc(100% - 45px);display:flex;gap:15px;align-items:center;padding:5px 20px 7px;background:rgba(255,230,241,.85);border:0;border-radius:0 0 7px 7px;box-shadow:none;color:#6f294d}
.as60-ux-name{font-family:'Yu Mincho','Noto Serif CJK JP',serif;font-size:20px;font-weight:600;white-space:nowrap}.as60-ux-name-en{font-family:Georgia,serif;font-size:9px;letter-spacing:.15em;color:#ad7997}
.as60-ux-body{margin:8px 0 3px 6px;font-family:'Yu Mincho','Noto Serif CJK JP',serif;font-weight:600;font-size:var(--as60-dialogue-font);line-height:1.62;letter-spacing:.04em;color:var(--as60-ink);white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:0 1px 1px #fff9}
.as60-ux-petal{display:none;position:absolute;right:25px;bottom:18px;font-size:13px;color:#d77ea6}
.as60-ux-choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;max-height:145px;overflow-y:auto;overscroll-behavior:contain;min-height:0}
.as60-ux-choice{display:flex;align-items:center;justify-content:center;text-align:center;min-height:57px;padding:7px 12px;border:1px solid #b6d0ff;border-radius:12px;background:rgba(31,48,78,.77);color:#f8f8ff;box-shadow:0 3px 10px #14112330;backdrop-filter:blur(6px);font-family:'Yu Mincho','Noto Serif CJK JP',serif;font-size:15px;line-height:1.35;font-weight:500}
.as60-ux-choice:first-child{background:rgba(48,56,84,.80);border-color:#c9d6f6;box-shadow:0 3px 10px #14112330}.as60-ux-choice:hover{filter:brightness(1.12)}.as60-ux-choice-text{overflow-wrap:anywhere}
.as60-ux-command{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:52px}
.as60-ux-compose{height:52px;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 44px 48px;align-items:center;border-radius:28px;background:rgba(28,25,46,.61);border:1px solid rgba(224,223,253,.79);box-shadow:0 4px 14px #16112744;backdrop-filter:blur(10px);overflow:visible}
.as60-ux-compose input{min-width:0;width:100%;height:100%;padding:5px 13px 5px 20px;color:white;border:0;background:transparent;font-size:15px;outline-offset:-4px}.as60-ux-compose input::placeholder{color:#eee7f6be}
.as60-ux-compose button{min-height:44px;height:44px;border:0;color:#fff;background:transparent}.as60-ux-star{font-size:25px!important;border-left:1px solid #ffffff7d!important}.as60-ux-send{border-radius:50%;font-size:22px!important;color:#fff;background:linear-gradient(130deg,#ce467e,#f087ae)!important;box-shadow:0 1px 0 #ffd4e4 inset;margin-right:3px}
.as60-ux-quicknav{display:flex;align-items:center;gap:0;justify-content:flex-end}.as60-ux-quicknav button{min-height:50px;min-width:56px;padding:4px 5px;border:0;background:rgba(25,26,48,.15);color:#fff6fc;text-shadow:0 2px 8px #101226bb;display:flex;gap:0;flex-direction:column;align-items:center;justify-content:center}.as60-ux-quicknav button span{font-size:20px;line-height:24px}.as60-ux-quicknav button small{font-family:Georgia,serif;font-size:8px;letter-spacing:.07em}
.as60-ux-drawer{position:absolute;z-index:20;top:72px;right:12px;max-width:min(360px,94%);padding:10px;border:1px solid #f5cadf;border-radius:14px;background:#25263ce3;box-shadow:0 15px 40px #0009;backdrop-filter:blur(16px)}.as60-ux-menu-items{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:8px}.as60-ux-menu-items button{min-height:46px;display:flex;align-items:center;justify-content:center;gap:10px;background:#ffffff15;border:1px solid #ffffff60;border-radius:8px;color:white}.as60-ux-menu-items button small{font-size:12px}
.as60-ux-modal-back{position:absolute;z-index:31;inset:0;display:grid;place-items:center;background:#15172acc;padding:15px}.as60-ux-panel{display:flex;flex-direction:column;width:min(600px,100%);max-height:min(85%,720px);border:1px solid #f6bbd7;border-radius:16px;background:linear-gradient(145deg,#fff1f6,#fffdfd);color:#1b2948;box-shadow:0 22px 75px #0009;overflow:hidden}.as60-ux-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border-bottom:1px solid #dfacc9}.as60-ux-panel-header h2{margin:0;font:20px 'Yu Mincho',serif}.as60-ux-panel-header button{font-size:24px;background:transparent;border:0;min-height:44px;min-width:44px;color:#392338}.as60-ux-panel-content{padding:18px;overflow-y:auto;font-size:14px;line-height:1.6;overscroll-behavior:contain}.as60-ux-panel-content input[type=range]{width:100%;height:44px}.as60-ux-panel-content button{display:block;min-height:44px;margin:12px 0;padding:8px 15px}.as60-ux-article{padding:12px;margin:10px 0;border:1px solid #dfb7ce;border-radius:9px}.as60-ux-article h3{margin:5px 0;font-size:16px}.as60-ux-article span{font-size:11px;color:#894a70}.as60-ux-article p{margin:6px 0}.as60-ux-empty{color:#687289}
.as60-ux-message{position:absolute;z-index:30;right:14px;top:80px;padding:12px;max-width:400px;background:#1e2e46;color:white;border:1px solid #f2c4d8;border-radius:9px;font-size:13px}
.as60-ux-high-contrast .as60-ux-dialogue{background:#fff;backdrop-filter:none}.as60-ux-high-contrast .as60-ux-body{color:#07101d}
/* Narrow portrait: full scene + large art; menus hidden in a circular control. */
@media (max-width:670px) and (min-height:421px){
 .as60-ux-root{--as60-dialogue-font:15px}
 .as60-ux-background{background-position:48% center}
 .as60-ux-character{top:40px;left:calc(50% - 220px);width:440px}
 .as60-ux-portrait{width:440px}
 .as60-ux-top-tools{gap:5px}.as60-ux-top-tools button{width:44px;height:44px;font-size:18px;border-radius:12px}
 .as60-ux-bottom{left:10px;right:10px;bottom:max(11px,env(safe-area-inset-bottom));gap:7px}
 .as60-ux-dialogue{min-height:109px;max-height:145px;padding:29px 12px 7px;border-radius:12px}
 .as60-ux-dialogue::before,.as60-ux-dialogue::after{font-size:20px}
 .as60-ux-namebar{left:8px;min-width:150px;padding:2px 11px 4px;gap:5px;border-radius:0 0 11px 11px}.as60-ux-name{font-size:14px}.as60-ux-name-en{font-size:7px}
 .as60-ux-body{font-size:var(--as60-dialogue-font);line-height:1.42;letter-spacing:.01em;margin:0 0 3px}
 .as60-ux-choice-list{grid-template-columns:1fr;gap:5px;max-height:150px;overflow:auto}
 .as60-ux-choice{min-height:44px;max-height:none;padding:5px 10px;font-size:12px;border-radius:9px}
 .as60-ux-command{grid-template-columns:1fr;gap:0;min-height:48px}
 .as60-ux-compose{grid-template-columns:minmax(0,1fr) 44px 46px;height:48px;border-radius:24px}
 .as60-ux-compose input{font-size:12px}
 .as60-ux-quicknav{display:none}
 .as60-ux-drawer{top:56px;right:8px}
}
/* Tiny portrait screen: compact and independently scrollable text, no full-document scroll. */
@media (max-width:345px) and (min-height:421px){
 .as60-ux-top-tools button{width:44px;height:44px}
 .as60-ux-bottom{left:7px;right:7px;bottom:max(6px,env(safe-area-inset-bottom));gap:5px}
 .as60-ux-dialogue{min-height:86px;max-height:104px;padding:25px 8px 6px}
 .as60-ux-body{font-size:13px;line-height:1.3}
 .as60-ux-choice-list{gap:3px;max-height:138px}
 .as60-ux-choice{font-size:11px;min-height:44px}
 .as60-ux-character{top:36px;left:calc(50% - 205px);width:410px}
 .as60-ux-portrait{width:410px}
}
/* Mobile keyboard visible: prioritize editable input, collapse choices but keep reachable. */
.as60-ux-root.as60-ux-keyboard .as60-ux-dialogue{min-height:54px;max-height:88px}
.as60-ux-root.as60-ux-keyboard .as60-ux-choice-list{max-height:60px;grid-template-columns:1fr;overflow:auto}
.as60-ux-root.as60-ux-keyboard .as60-ux-choice{min-height:44px}
/* Landscape on phones is supported, not forced to rotate. */
@media(max-height:420px) and (orientation:landscape){
 .as60-ux-top-tools button{height:44px;width:44px;font-size:18px}
 .as60-ux-bottom{left:10px;right:10px;bottom:5px;gap:4px}
 .as60-ux-dialogue{min-height:61px;max-height:77px;padding:21px 12px 3px;border-radius:9px}
 .as60-ux-namebar{left:7px;min-width:115px;gap:7px;padding:0 9px 2px}.as60-ux-name{font-size:12px}
 .as60-ux-body{font-size:12px;line-height:1.25;margin:1px 0}
 .as60-ux-choice-list{gap:5px;max-height:52px}
 .as60-ux-choice{min-height:44px;max-height:50px;font-size:11px;padding:4px 6px;overflow:auto}
 .as60-ux-compose{height:44px}.as60-ux-compose button{height:44px;min-height:44px}
 .as60-ux-command{min-height:44px}.as60-ux-quicknav{display:flex}.as60-ux-quicknav button{min-width:39px;min-height:42px;padding:1px}.as60-ux-quicknav button span{font-size:13px}.as60-ux-quicknav button small{font-size:7px}
 .as60-ux-character{top:-20px;left:12%;width:330px;opacity:.7}.as60-ux-portrait{width:330px}
 .as60-ux-dialogue::before,.as60-ux-dialogue::after{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.as60-ux-root *{transition:none!important}}

/* v1.4: unobtrusive viewport-level scene/overlay toggle. This control is always
   reachable; the visual glyph is small but the touch target is >=44 CSS px. */
.as60-ux-visibility-toggle{position:absolute;z-index:24;left:max(12px,env(safe-area-inset-left));top:max(11px,env(safe-area-inset-top));width:44px;height:44px;display:grid;place-items:center;padding:0;background:rgba(23,28,46,.48);color:#fff;border:1px solid rgba(255,246,251,.60);border-radius:10px;box-shadow:0 2px 9px #14142b33;backdrop-filter:blur(3px);cursor:pointer}
.as60-ux-visibility-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.as60-ux-visibility-toggle .as60-ux-icon-show{display:none}
.as60-ux-root.as60-ux-scene-only .as60-ux-visibility-toggle .as60-ux-icon-hide{display:none}
.as60-ux-root.as60-ux-scene-only .as60-ux-visibility-toggle .as60-ux-icon-show{display:block}
.as60-ux-root.as60-ux-scene-only .as60-ux-bottom{display:none!important}
@media (max-width:670px) and (min-height:421px){
 .as60-ux-visibility-toggle{left:max(7px,env(safe-area-inset-left));top:max(6px,env(safe-area-inset-top));border-radius:9px}
}
@media(max-height:420px) and (orientation:landscape){
 .as60-ux-visibility-toggle{left:max(6px,env(safe-area-inset-left));top:3px;width:44px;height:44px}
}

/* v1.5: full-bleed scene, no title banner or header lettering. */
.as60-ux-top-tools{position:absolute;z-index:15;top:max(11px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0;margin:0;width:auto;height:auto;background:none;border:0;box-shadow:none;backdrop-filter:none}
.as60-ux-top-tools button{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:11px;background:rgba(27,27,44,.36);color:white;border:1px solid rgba(255,250,255,.52);backdrop-filter:blur(3px);box-shadow:0 2px 8px rgba(10,10,24,.18);font-size:20px}
.as60-ux-top-tools button:hover{background:rgba(27,27,44,.6)}
.as60-ux-context{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:4px 4px 12px;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.25);font-size:13px;color:#ffedf4}
.as60-ux-context span:not(:last-child)::after{content:'・';padding-left:6px;color:#f2c8db}
.as60-ux-drawer{top:max(64px,calc(env(safe-area-inset-top) + 55px));right:max(12px,env(safe-area-inset-right));max-height:calc(100% - 72px);overflow-y:auto}
@media (max-width:670px) and (min-height:421px){
 .as60-ux-top-tools{top:max(6px,env(safe-area-inset-top));right:max(7px,env(safe-area-inset-right));gap:4px}
 .as60-ux-top-tools button{width:44px;height:44px;min-height:44px;min-width:44px;font-size:18px;border-radius:10px}
 .as60-ux-drawer{top:max(57px,calc(env(safe-area-inset-top) + 53px));right:max(7px,env(safe-area-inset-right));max-height:calc(100% - 64px)}
}
@media (max-height:420px) and (orientation:landscape){
 .as60-ux-top-tools{top:3px;right:max(6px,env(safe-area-inset-right));gap:4px}
 .as60-ux-top-tools button{width:44px;height:44px;min-width:44px;min-height:44px;font-size:17px}
 .as60-ux-drawer{top:52px;max-height:calc(100% - 56px)}
}

/* Live integration: preserve a 44px send target inside narrow input tracks. */
.as60-ux-root .as60-ux-compose .as60-ux-send{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;margin-right:0}
/* Keep legacy global button hover rules from turning white text onto pale pink. */
.as60-ux-root .as60-ux-choice:hover:not(:disabled),.as60-ux-root .as60-ux-choice:focus-visible{background:rgba(42,56,89,.96);color:#fff;border-color:#eef2ff;filter:none}
.as60-ux-root .as60-ux-menu-items button:hover:not(:disabled),.as60-ux-root .as60-ux-quicknav button:hover:not(:disabled){background:rgba(63,49,81,.94);color:#fff}
.as60-ux-root .as60-ux-top-tools button:hover:not(:disabled),.as60-ux-root .as60-ux-visibility-toggle:hover:not(:disabled),.as60-ux-root .as60-ux-star:hover:not(:disabled){background:rgba(45,39,65,.94);color:#fff}

/* E017: display-only settings and deliberate full-text reading. */
.as60-ux-root .as60-ux-dialogue{background:rgba(255,248,252,var(--as60-dialogue-opacity,.82))}
.as60-ux-root .as60-ux-body{font-size:var(--as60-dialogue-font,18px);line-height:1.6;padding-right:0}
.as60-ux-root .as60-ux-high-contrast{color:#07101d}
.as60-ux-root.as60-ux-high-contrast .as60-ux-dialogue{background:#fff;backdrop-filter:none}
.as60-ux-root.as60-ux-high-contrast .as60-ux-choice,.as60-ux-root.as60-ux-high-contrast .as60-ux-choice-review{background:#17233c;color:#fff;border-color:#fff}
.as60-ux-root .as60-ux-read-dialogue{position:absolute;top:0;right:0;z-index:2;min-width:44px;min-height:44px;padding:0 8px;border:0;border-radius:0 8px 0 8px;background:#fff8fc;color:#693650;font-size:12px}
.as60-ux-root .as60-ux-read-dialogue:hover:not(:disabled){background:#f9deeb;color:#51233d}
.as60-ux-root .as60-ux-namebar{max-width:calc(100% - 68px)}
.as60-ux-choice-wrap{display:flex;min-width:0;min-height:44px;align-items:stretch;gap:4px}
.as60-ux-choice-wrap .as60-ux-choice{width:100%;min-width:0;flex:1}
.as60-ux-choice-wrap.as60-ux-choice-long .as60-ux-choice{overflow:hidden;max-height:120px}
.as60-ux-choice-long .as60-ux-choice-text{max-height:5.4em;overflow:hidden}
.as60-ux-root .as60-ux-choice-review{flex:none;width:44px;min-height:44px;padding:2px;border:1px solid #b6d0ff;border-radius:9px;background:#24334f;color:#fff;font-size:11px}
.as60-ux-root .as60-ux-choice-review:hover:not(:disabled){background:#3c5075;color:#fff}
.as60-ux-root .as60-ux-reader-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--as60-dialogue-font,18px);line-height:1.75;max-height:none;margin:0}
.as60-ux-root .as60-ux-display-field{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:14px;margin:12px 0;flex-wrap:wrap;font-size:15px}
.as60-ux-display-field span{flex:1;min-width:150px}
.as60-ux-display-field input[type=range]{flex-basis:100%;min-height:44px}
.as60-ux-display-field input[type=checkbox]{width:24px;height:24px;margin:10px}
.as60-ux-display-field output{font-variant-numeric:tabular-nums;font-weight:700}
.as60-ux-root .as60-ux-display-status{font-size:13px;color:#44516b}
.as60-ux-root.as60-ux-reduced-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-height:420px) and (orientation:landscape){
 .as60-ux-root .as60-ux-choice-list{max-height:54px}
 .as60-ux-choice-wrap .as60-ux-choice{max-height:50px}
 .as60-ux-root .as60-ux-panel{max-height:96%}
}
@media(prefers-reduced-motion:reduce){.as60-ux-root *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
