/* IBS-AI simulation deck: functional HUD geometry, not a simulated AI status. */
.data-paths{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 28px;padding:20px 24px;border:1px solid #8d68c5a8;border-radius:14px;background:linear-gradient(105deg,#281451e8,#111936dc)}.data-paths .eyebrow{margin-bottom:7px}.data-paths h2{margin:0;font-size:clamp(1.15rem,2vw,1.6rem);letter-spacing:-.035em}.data-path-actions{display:flex;flex-wrap:wrap;gap:10px}.data-path-actions a{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:185px;padding:11px 15px;border:1px solid #a377d7;border-radius:8px;background:#482075;color:white;font-size:.85rem;font-weight:760}.data-path-actions a:last-child{background:#b970f1;color:#200b38;border-color:#da9cff}.data-path-actions a:hover{filter:brightness(1.15)}.data-path-actions small{font-size:.7rem;font-weight:550;opacity:.78}
@media(max-width:760px){.data-paths{align-items:stretch;flex-direction:column}.data-path-actions a{flex:1;min-width:150px}}
body[data-ui="sandbox"],body:has(.avatar-main){
  --bg:#060412;--panel:#0e0b24;--panel2:#171039;--line:#5b48a0;
  --text:#f9f6ff;--muted:#bfb9d6;--violet:#b47aff;--cyan:#65e8ef;
  color:var(--text);
  background:radial-gradient(ellipse at 75% -15%,#4a2086 0,transparent 38%),radial-gradient(ellipse at 5% 65%,#15295b 0,transparent 30%),#060412;
}
body[data-ui="sandbox"]::before,body:has(.avatar-main)::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(#7c78c51a 1px,transparent 1px),linear-gradient(90deg,#7c78c51a 1px,transparent 1px);
  background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 92%);
}
body[data-ui="sandbox"] .shell,body:has(.avatar-main) .shell{width:min(1320px,calc(100% - 48px))}
body[data-ui="sandbox"] .header,body:has(.avatar-main) .header{border-bottom:1px solid #8061ba6b;background:#070514e8;box-shadow:0 4px 35px #140a3990}
body[data-ui="sandbox"] .header-inner,body:has(.avatar-main) .header-inner{min-height:70px}
body[data-ui="sandbox"] .logo,body:has(.avatar-main) .logo{font-size:1.32rem;letter-spacing:.035em;text-shadow:0 0 18px #a476f980}
body[data-ui="sandbox"] .logo span,body:has(.avatar-main) .logo span{background:linear-gradient(135deg,#8530dc,#42c9e6);border:1px solid #b684fb;box-shadow:0 0 18px #9554ef80}
body[data-ui="sandbox"] .header nav,body:has(.avatar-main) .header nav{gap:6px}
body[data-ui="sandbox"] .header nav a,body:has(.avatar-main) .header nav a{padding:9px 12px;border:1px solid transparent;border-radius:4px;font-size:.9rem}
body[data-ui="sandbox"] .header nav a:hover,body:has(.avatar-main) .header nav a:hover{border-color:#6652a2;background:#241646}
body[data-ui="sandbox"] .header nav a[aria-current],body:has(.avatar-main) .header nav a[aria-current]{color:#fff;border-color:#a36bd9;background:linear-gradient(120deg,#3e1e68,#15214a);box-shadow:inset 0 -2px #6be4ef}
body[data-ui="sandbox"] .header small,body:has(.avatar-main) .header small{color:#9adce8;letter-spacing:.08em}

/* Put the playable surface in view immediately. */
body[data-ui="sandbox"] .intro{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:31px 0 21px}
body[data-ui="sandbox"] .intro .eyebrow{margin-bottom:7px;color:var(--cyan);font:700 .82rem/1.4 ui-monospace,Consolas,monospace;letter-spacing:.12em}
body[data-ui="sandbox"] .intro h1{font-size:clamp(2.2rem,3.6vw,3.65rem);line-height:1.1;letter-spacing:-.05em;white-space:nowrap}
body[data-ui="sandbox"] .intro h1 span{color:#c48cff;text-shadow:0 0 26px #b355ff70}
body[data-ui="sandbox"] .intro p:not(.eyebrow){margin:9px 0 0;max-width:740px;color:#c7c1db;font-size:1rem;line-height:1.55}
body[data-ui="sandbox"] .intro aside{display:flex;flex-direction:row;gap:1px;min-height:0;padding:4px;border:1px solid #4d4388;border-radius:4px;background:#100d29;box-shadow:0 0 28px #6c3bbb30;white-space:nowrap}
body[data-ui="sandbox"] .intro-step{display:flex;align-items:center;gap:7px;padding:8px 10px;color:#c3badf;font-size:.81rem}
body[data-ui="sandbox"] .intro-step+ .intro-step{border-left:1px solid #423879}
body[data-ui="sandbox"] .intro-step b{color:var(--cyan);font:700 .82rem ui-monospace,Consolas,monospace}
body[data-ui="sandbox"] .character-banner{margin:0 0 17px;padding:9px 15px;border-color:#5e4d9e;border-radius:4px;background:linear-gradient(90deg,#171039,#0c112b);box-shadow:inset 3px 0 var(--cyan)}
body[data-ui="sandbox"] .character-banner span,body[data-ui="sandbox"] .character-banner small{font-size:.87rem}
body[data-ui="sandbox"] .character-banner strong{color:#f5dbff;text-shadow:0 0 14px #c476ff80}
body[data-ui="sandbox"] .character-banner a{color:var(--cyan)}
body[data-ui="sandbox"] .board{padding-bottom:60px}
body[data-ui="sandbox"] .board-title{align-items:center;margin-bottom:11px}
body[data-ui="sandbox"] .board-title .eyebrow{display:none}
body[data-ui="sandbox"] .board-title h2{font-size:clamp(1.35rem,2vw,1.85rem);letter-spacing:0;font-weight:720}
body[data-ui="sandbox"] .board-title>span{border-color:#6378b9;border-radius:3px;color:var(--cyan);font:700 .85rem ui-monospace,Consolas,monospace}
body[data-ui="sandbox"] .board-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.84fr);gap:16px}
body[data-ui="sandbox"] .game,body[data-ui="sandbox"] .avatar{position:relative;min-height:510px;overflow:hidden;border:1px solid #7463b0;border-radius:5px;background:linear-gradient(155deg,#171035f7,#0d0b25f9 67%,#121334f9);box-shadow:0 18px 55px #01010b99,inset 0 1px #c89bff35}
body[data-ui="sandbox"] .game::before,body[data-ui="sandbox"] .avatar::before{content:"";position:absolute;top:0;left:0;width:72px;height:3px;background:var(--cyan);box-shadow:0 0 20px var(--cyan)}
body[data-ui="sandbox"] .game::after,body[data-ui="sandbox"] .avatar::after{content:"";position:absolute;right:0;bottom:0;width:76px;height:76px;border-right:1px solid #8b6cce;border-bottom:1px solid #8b6cce;pointer-events:none}
body[data-ui="sandbox"] .game{padding:28px 34px}
body[data-ui="sandbox"] .progress{height:4px;margin-bottom:21px;background:#313057}
body[data-ui="sandbox"] .progress span{background:linear-gradient(90deg,#5d52d1,#72e9f1);box-shadow:0 0 17px #58d8f8a0}
body[data-ui="sandbox"] .card-icon{width:38px;height:38px;border:1px solid #7275c2;border-radius:4px;background:#26194b;color:var(--cyan);font-size:1.15rem;box-shadow:0 0 16px #784cf660}
body[data-ui="sandbox"] .step h3,body[data-ui="sandbox"] .result h3{margin:16px 0 7px;font-size:clamp(1.5rem,2.4vw,2.15rem)}
body[data-ui="sandbox"] .step p,body[data-ui="sandbox"] .result>p{font-size:1rem;line-height:1.55;margin-bottom:16px}
body[data-ui="sandbox"] .step label:not(.priorities label){margin:13px 0 8px;font-size:.94rem;color:#dcd9f2}
body[data-ui="sandbox"] .step textarea,body[data-ui="sandbox"] .step input:not([type=radio]){border-color:#5e5b9c;border-radius:4px;background:#0b102a;color:#fff;box-shadow:inset 0 0 22px #131e4b80;font-size:1rem}
body[data-ui="sandbox"] .step textarea:focus,body[data-ui="sandbox"] .step input:not([type=radio]):focus{border-color:var(--cyan);box-shadow:0 0 0 2px #66e3ee30,0 0 28px #53d2eb28}
body[data-ui="sandbox"] .examples{margin:12px 0 19px;font-size:.87rem}
body[data-ui="sandbox"] .examples button,body[data-ui="sandbox"] .feedback button,body[data-ui="sandbox"] .save button,body[data-ui="sandbox"] .replay,body[data-ui="sandbox"] .back{border-color:#5b5ca3;border-radius:3px;background:#1b1b47;color:#e9e4ff}
body[data-ui="sandbox"] .primary{min-height:47px;border:1px solid #a9f3f6;border-radius:4px;background:linear-gradient(110deg,#78ecf0,#b58cf9);color:#090c24;box-shadow:0 0 22px #6ddfeb68;font-weight:850}
body[data-ui="sandbox"] .primary:hover{background:linear-gradient(110deg,#a9faff,#d5b2ff);transform:translateY(-1px)}
body[data-ui="sandbox"] .priorities label span,body[data-ui="sandbox"] .branches article{border-radius:4px;background:#111434;border-color:#5e5c9b}
body[data-ui="sandbox"] .priorities input:checked+span{border-color:var(--cyan);background:#1b2552;box-shadow:inset 0 0 0 1px #71e7ee,0 0 18px #56cced35}
body[data-ui="sandbox"] .branches article>span,body[data-ui="sandbox"] .tag,body[data-ui="sandbox"] .next>span{color:var(--cyan)}
body[data-ui="sandbox"] .next{border:1px solid #785db9;border-radius:4px;background:linear-gradient(120deg,#2c1d60,#18305d)}

/* The user's 3D character becomes a holographic instrument panel. */
body[data-ui="sandbox"] .avatar{padding:20px 24px;background:radial-gradient(circle at 50% 26%,#39218c,#151136 48%,#0d0d26 85%)}
body[data-ui="sandbox"] .avatar-top{color:var(--cyan);font:700 .83rem ui-monospace,Consolas,monospace;letter-spacing:.08em}
body[data-ui="sandbox"] .avatar-top span:last-child{border-color:#5b89ad;border-radius:2px;color:#d0faff}
body[data-ui="sandbox"] .avatar-art{height:300px;margin:-5px 0 -14px;position:relative;background:radial-gradient(ellipse at 50% 65%,#933cff39,transparent 49%)}
body[data-ui="sandbox"] .avatar-art::before{content:"";position:absolute;width:225px;height:225px;left:50%;top:50%;transform:translate(-50%,-48%) rotateX(62deg);border:1px solid #6de6f3a8;border-radius:50%;box-shadow:0 0 0 18px #7b55c220,0 0 28px #65e8efa0,inset 0 0 20px #76dbf055;pointer-events:none}
body[data-ui="sandbox"] .avatar .avatar-3d-stage{height:300px;z-index:1}
body[data-ui="sandbox"] .avatar h2{font-size:1.45rem;color:#f7e9ff}
body[data-ui="sandbox"] .avatar>p{font-size:.97rem}
body[data-ui="sandbox"] .metrics div{border-color:#565f9f;border-radius:3px;background:#111637}
body[data-ui="sandbox"] .metrics strong{color:var(--cyan);font:700 1.8rem ui-monospace,Consolas,monospace}
body[data-ui="sandbox"] .metrics small{font-size:.82rem}
body[data-ui="sandbox"] .avatar-foot p{font-size:.85rem}
body[data-ui="sandbox"] .avatar-foot button{color:#a8edf2}
body[data-ui="sandbox"] .more{padding:55px 0;border-color:#4d4d91}
body[data-ui="sandbox"] .more h2{font-size:2.1rem}
body[data-ui="sandbox"] .more a{color:#86e8ee}

/* Matching character-creation portal. */
body:has(.avatar-main) .avatar-main{padding-top:28px}
body:has(.avatar-main) .avatar-heading{margin-bottom:23px}
body:has(.avatar-main) .avatar-heading .eyebrow{color:var(--cyan);font:700 .85rem ui-monospace,Consolas,monospace}
body:has(.avatar-main) .avatar-heading h1{font-size:clamp(2.3rem,4vw,4rem)}
body:has(.avatar-main) .avatar-heading h1 span{color:#c48cff;text-shadow:0 0 28px #aa5dff80}
body:has(.avatar-main) .avatar-heading>p:last-child{font-size:1rem;line-height:1.6}
body:has(.avatar-main) .creation-card,body:has(.avatar-main) .creation-preview{border-color:#7763b7;border-radius:5px;background:linear-gradient(145deg,#171035,#0b0d27);box-shadow:0 18px 55px #01010b99}
body:has(.avatar-main) .creation-preview{background:radial-gradient(circle at 50% 34%,#3c238e,#121031 65%,#0d0c25)}
body:has(.avatar-main) .chapter,body:has(.avatar-main) .preview-top{color:var(--cyan);font:700 .82rem ui-monospace,Consolas,monospace}
body:has(.avatar-main) .mode-picker button{border-color:#5e5a9e;border-radius:4px;background:#151337}
body:has(.avatar-main) .mode-picker button[aria-pressed="true"]{border-color:var(--cyan);background:#1b2550;box-shadow:inset 0 0 0 1px #6de1ec,0 0 17px #55cde94d}
body:has(.avatar-main) .mode-picker strong{font-size:.92rem}
body:has(.avatar-main) .mode-picker small{font-size:.78rem}
body:has(.avatar-main) .upload-zone,body:has(.avatar-main) .camera-box{border-color:#7461ad;border-radius:4px;background:#10102b}
body:has(.avatar-main) .upload-zone:hover{border-color:var(--cyan);background:#191d43}
body:has(.avatar-main) .character-input{border-color:#645b9f;border-radius:4px;background:#0c112b;font-size:1rem}
body:has(.avatar-main) .privacy-box,body:has(.avatar-main) .carry-photo{border-color:#514e8f;border-radius:4px;background:#13122f}
body:has(.avatar-main) .privacy-box ul{font-size:.84rem}
body:has(.avatar-main) .enter-sandbox{border:1px solid #a9f3f6;border-radius:4px;background:linear-gradient(110deg,#78ecf0,#b58cf9);color:#090c24;box-shadow:0 0 22px #6ddfeb68}
body:has(.avatar-main) .preview-badge{border-color:#65c9dc;border-radius:2px}
body:has(.avatar-main) .preview-stage{background:radial-gradient(circle at 50% 64%,#963cff33,transparent 49%)}
body:has(.avatar-main) .preview-stage::before{content:"";position:absolute;width:240px;height:240px;top:52%;left:50%;transform:translate(-50%,-50%) rotateX(62deg);border:1px solid #6de6f3a8;border-radius:50%;box-shadow:0 0 0 18px #7b55c220,0 0 30px #65e8ef88;pointer-events:none}
body:has(.avatar-main) .growth div{border-color:#5b5b9b;border-radius:3px;background:#141539}
body:has(.avatar-main) .world-preview{padding:55px 0}

@media(max-width:1050px){
  body[data-ui="sandbox"] .intro{align-items:flex-start;flex-direction:column;gap:13px}
  body[data-ui="sandbox"] .intro aside{align-self:stretch;justify-content:space-around}
}
@media(max-width:850px){
  body[data-ui="sandbox"] .board-grid{grid-template-columns:1fr}
  body[data-ui="sandbox"] .avatar{min-height:0}
  body[data-ui="sandbox"] .avatar-art{height:260px}
  body[data-ui="sandbox"] .avatar .avatar-3d-stage{height:260px}
}
@media(max-width:650px){
  body[data-ui="sandbox"] .shell,body:has(.avatar-main) .shell{width:min(100% - 24px,1320px)}
  body[data-ui="sandbox"] .header-inner,body:has(.avatar-main) .header-inner{min-height:64px;gap:7px;flex-wrap:wrap;padding:9px 0}
  body[data-ui="sandbox"] .header nav,body:has(.avatar-main) .header nav{width:100%;order:3;margin:0;overflow-x:auto;gap:3px}
  body[data-ui="sandbox"] .header nav a,body:has(.avatar-main) .header nav a{white-space:nowrap;padding:7px 9px;font-size:.82rem}
  body[data-ui="sandbox"] .header small,body:has(.avatar-main) .header small{margin-left:auto;font-size:.72rem}
  body[data-ui="sandbox"] .intro{padding:14px 0 12px;gap:4px}
  body[data-ui="sandbox"] .intro h1{font-size:1.88rem;white-space:normal}
  body[data-ui="sandbox"] .intro p:not(.eyebrow){font-size:.9rem;line-height:1.35;margin-top:6px}
  body[data-ui="sandbox"] .intro aside{display:none}
  body[data-ui="sandbox"] .character-banner{gap:7px;padding:7px 12px;margin-bottom:10px}
  body[data-ui="sandbox"] .board-title{margin-bottom:8px}
  body[data-ui="sandbox"] .board-title h2{font-size:1.22rem}
  body[data-ui="sandbox"] .board-title>span{padding:5px 7px;font-size:.72rem}
  body[data-ui="sandbox"] .game{padding:15px 17px;min-height:430px}
  body[data-ui="sandbox"] .progress{margin-bottom:12px}
  body[data-ui="sandbox"] .card-icon{display:none}
  body[data-ui="sandbox"] .step h3{font-size:1.38rem;margin:3px 0 6px}
  body[data-ui="sandbox"] .step p{font-size:.91rem;line-height:1.35;margin-bottom:9px}
  body[data-ui="sandbox"] .priorities,body[data-ui="sandbox"] .branches{grid-template-columns:1fr}
  body:has(.avatar-main) .creation-card,body:has(.avatar-main) .creation-preview{padding:20px}
  body:has(.avatar-main) .avatar-main{padding-top:15px}
  body:has(.avatar-main) .avatar-heading{margin-bottom:13px}
  body:has(.avatar-main) .avatar-heading h1{font-size:2rem;line-height:1.16}
  body:has(.avatar-main) .avatar-heading>p:last-child{font-size:.91rem;line-height:1.38;margin:8px 0 0}
  body:has(.avatar-main) .creation-preview{order:-1;padding:12px 17px}
  body:has(.avatar-main) .preview-top{font-size:.72rem}
  body:has(.avatar-main) .preview-stage{min-height:210px}
  body:has(.avatar-main) .avatar-3d-stage{height:210px}
  body:has(.avatar-main) .creation-preview h2,body:has(.avatar-main) .creation-preview>p,body:has(.avatar-main) .growth,body:has(.avatar-main) .avatar-3d-hint{display:none}
  body:has(.avatar-main) .creation-grid{gap:10px}
}
@media(prefers-reduced-motion:reduce){body[data-ui="sandbox"] .primary:hover{transform:none}}
