.builder-shell{padding:118px 0 72px;min-height:100vh;background:radial-gradient(circle at 50% 0,rgba(124,58,237,.13),transparent 34%)}
.builder-nav-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.builder-nav-actions .btn{white-space:nowrap}
.builder-draft-status{max-width:760px;margin:0 auto 8px}.builder-draft-clear{display:block;margin:0 auto 18px}
@media(max-width:600px){
  .navbar .container{flex-wrap:wrap;gap:8px}
  .builder-nav-actions{flex-basis:100%;justify-content:flex-end}
  .builder-shell{padding-top:150px}
}
.builder-progress{display:flex;align-items:center;gap:7px}.builder-progress button{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--bg-card);border:1px solid var(--border-subtle);font-size:12px;font-weight:700;color:var(--text-muted);cursor:pointer;transition:.2s ease}.builder-progress button:hover{color:white;border-color:var(--accent-violet);transform:translateY(-1px)}.builder-progress button.active{color:white;background:var(--accent-violet);border-color:var(--accent-violet);box-shadow:0 0 0 4px rgba(167,139,250,.12)}.builder-progress button.complete{color:var(--accent-emerald);border-color:rgba(110,231,183,.4)}.builder-progress i{display:block;width:28px;height:1px;background:var(--border-active)}
.builder-header{text-align:center;max-width:760px;margin:0 auto 42px}.builder-header h1{margin:12px 0;font-size:clamp(2.4rem,6vw,4.4rem)}.builder-header p{font-size:18px}
.builder-step{display:none}.builder-step.active{display:block}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1050px;margin:auto}
.path-card{position:relative;min-height:310px;padding:25px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;background:linear-gradient(150deg,rgba(33,30,58,.94),rgba(15,13,28,.94));color:white;border:1px solid var(--border-subtle);border-radius:22px;cursor:pointer;transition:.25s ease}.path-card:hover{transform:translateY(-6px);border-color:var(--accent-violet);box-shadow:0 18px 48px rgba(0,0,0,.3)}.path-card.recommended{border-color:rgba(167,139,250,.45);box-shadow:inset 0 0 30px rgba(124,58,237,.06)}.path-card.guided-path{background:linear-gradient(150deg,rgba(55,35,91,.94),rgba(15,13,28,.96))}.recommended-label{position:absolute;top:0;right:20px;padding:5px 11px;background:var(--accent-violet);border-radius:0 0 9px 9px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.path-icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:38px;border-radius:15px;color:var(--accent-lavender);background:var(--accent-violet-dim)}.path-time{min-height:28px;font-size:10px;color:var(--accent-emerald);text-transform:uppercase;letter-spacing:.08em}.path-card strong{font-family:var(--font-heading);font-size:23px;margin:7px 0}.path-card small{color:var(--text-secondary);font-size:13px;line-height:1.6}
.session-kind-picker{display:flex;align-items:center;justify-content:center;gap:10px;max-width:850px;margin:0 auto 22px}.session-kind-label{margin-right:5px;color:var(--text-muted);font-size:12px}.session-kind-option{position:relative;display:flex;align-items:center;gap:10px;min-width:230px;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:14px;background:rgba(26,23,48,.62);cursor:pointer;transition:.2s ease}.session-kind-option:hover,.session-kind-option.active{border-color:rgba(167,139,250,.58);background:rgba(124,58,237,.12)}.session-kind-option input{position:absolute;opacity:0}.session-kind-option>svg{width:20px;color:var(--accent-lavender)}.session-kind-option span{display:grid}.session-kind-option strong{font-size:13px}.session-kind-option small{color:var(--text-muted);font-size:10px}
.step-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.step-heading h2{font-size:clamp(2rem,4vw,3rem)}.eyebrow{color:var(--accent-emerald);font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:700}
.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.preset-card{position:relative;min-height:330px;padding:0;overflow:hidden;text-align:left;color:white;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:20px;cursor:pointer}.preset-card.selected{border-color:var(--accent-violet);box-shadow:0 0 0 3px rgba(167,139,250,.12)}.preset-visual{height:130px;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(167,139,250,.25),rgba(15,13,28,.9))}.preset-visual svg{width:46px;color:var(--accent-lavender)}.preset-body{display:block;padding:20px}.preset-body h3{margin-bottom:7px}.preset-body p{font-size:13px}.preset-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.builder-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}
.config-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}.config-main{display:grid;gap:18px}.config-card{padding:24px;background:rgba(26,23,48,.76);border:1px solid var(--border-subtle);border-radius:20px}.config-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}.config-title>svg{width:22px;color:var(--accent-violet)}.config-title p{font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .full{grid-column:1/-1}textarea.input{resize:vertical;min-height:90px}.sticky-card{position:sticky;top:105px}.sticky-card>h3{margin-bottom:12px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--border-subtle);cursor:pointer}.setting-row span{display:grid}.setting-row strong{font-size:14px}.setting-row small{color:var(--text-muted);line-height:1.4;margin-top:3px}.setting-row input{width:38px;height:21px;accent-color:var(--accent-violet)}.summary{margin:18px 0;padding:14px;background:rgba(12,10,20,.65);border-radius:12px;color:var(--text-secondary);font-size:13px}.summary small{display:inline-block;margin-top:6px;color:var(--text-muted)}.sticky-card .btn{width:100%}.form-error{min-height:20px;margin-top:10px;color:var(--accent-rose);font-size:12px}
.guided-world-panel{display:grid;gap:16px;margin:0 0 20px;padding:18px;border:1px solid rgba(167,139,250,.3);border-radius:16px;background:linear-gradient(140deg,rgba(124,58,237,.11),rgba(12,10,20,.48))}.guided-world-panel[hidden]{display:none}.guided-world-heading,.canonicity-heading,.context-upload-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.guided-world-heading h3{margin-top:3px;font-size:22px}.guided-status{padding:5px 9px;border-radius:99px;color:var(--accent-emerald);background:rgba(110,231,183,.09);font-size:10px}.guided-prompt{min-height:125px!important}.context-upload{display:flex;align-items:center;gap:10px;min-width:0;flex:1;padding:11px 13px;border:1px dashed rgba(167,139,250,.38);border-radius:12px;cursor:pointer}.context-upload[hidden]{display:none}.context-upload:hover{background:rgba(167,139,250,.06)}.context-upload>svg{width:20px;color:var(--accent-lavender)}.context-upload span{display:grid;min-width:0}.context-upload strong{font-size:12px}.context-upload small{overflow:hidden;color:var(--text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.context-upload input{position:absolute;width:1px;height:1px;opacity:0}.canonicity-control{display:grid;gap:9px}.canonicity-heading>span{display:grid}.canonicity-heading strong{font-size:13px}.canonicity-heading small{color:var(--text-muted);font-size:10px}.canonicity-heading output{font-weight:700;color:var(--accent-lavender)}.canonicity-control input{width:100%;accent-color:var(--accent-violet)}.canonicity-scale{display:flex;justify-content:space-between;color:var(--text-muted);font-size:9px}.guided-note{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:11px;color:var(--text-secondary);background:rgba(255,255,255,.025);font-size:11px}.guided-note svg{flex:0 0 16px;width:16px;color:var(--accent-emerald)}.field-hint{color:var(--text-muted);font-size:10px}
.context-upload-row>.btn{margin-left:auto}
.character-title{align-items:center}.character-title>div{flex:1}.character-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.character-option{position:relative;overflow:hidden;background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:15px;color:white;transition:.2s ease}.character-option.selected{border-color:var(--accent-violet);box-shadow:0 0 0 2px rgba(167,139,250,.13)}.character-select{display:block;width:100%;padding:0;color:white;background:transparent;border:0;text-align:left;cursor:pointer}.character-art{position:relative;display:grid!important;place-items:center;height:112px;padding:0!important;background:radial-gradient(circle,rgba(167,139,250,.2),rgba(12,10,20,.95));overflow:hidden}.character-art img{width:100%;height:100%;object-fit:cover}.character-initial{font-family:var(--font-heading);font-size:42px!important;color:var(--local-accent);padding:0!important}.character-select strong{display:block;padding:10px 11px 0;font-size:13px}.character-select small{display:block;padding:2px 11px 9px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-art i{position:absolute;top:8px;right:8px;width:22px;height:22px;display:none;place-items:center;border-radius:50%;background:var(--accent-violet);font-style:normal}.character-option.selected .character-art i{display:grid}.character-edit{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:8px;color:var(--accent-lavender);background:rgba(167,139,250,.06);border:0;border-top:1px solid var(--border-subtle);font-size:11px;cursor:pointer}.character-edit:hover{background:var(--accent-violet-dim)}.character-edit svg{width:13px}
.character-create-tile{display:flex;min-height:178px;padding:18px;flex-direction:column;align-items:center;justify-content:center;border-style:dashed;cursor:pointer;text-align:center}.character-create-tile:hover{border-color:var(--accent-violet);background:rgba(124,58,237,.08)}.character-create-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:10px;border-radius:14px;color:var(--accent-lavender);background:var(--accent-violet-dim)}.character-create-icon svg{width:22px}.character-create-tile strong{font-size:13px}.character-create-tile small{margin-top:4px;color:var(--text-muted);font-size:10px;line-height:1.4}
.builder-modal{max-width:760px;max-height:88vh;overflow:auto}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.modal-heading h2{font-size:32px}.modal-x{width:36px;height:36px;border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-secondary);background:var(--bg-surface);font-size:22px;cursor:pointer}.editor-actions{display:flex;justify-content:flex-end;gap:10px}.color-input{height:44px;padding:5px}.workshop-picker{max-width:900px}.workshop-search{display:flex;align-items:center;gap:8px;margin-bottom:16px}.workshop-search svg{width:18px;color:var(--text-muted)}.workshop-build-list{display:grid;gap:10px}.workshop-build{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:15px}.workshop-build h3{margin:7px 0 4px;font-size:20px}.workshop-build p{font-size:12px}.workshop-build small{color:var(--text-muted)}.workshop-empty{text-align:center;padding:35px}
.player-character-card{background:linear-gradient(145deg,rgba(36,29,66,.9),rgba(19,16,36,.82));border-color:rgba(167,139,250,.3)}.player-character-card .config-title{align-items:center}.player-character-card .config-title h3{margin:3px 0 4px}.player-character-layout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:start}.player-avatar-editor{display:grid;justify-items:center;gap:9px}.player-avatar-editor>small{color:var(--text-muted);font-size:9px;text-align:center;line-height:1.4}.player-avatar-preview{position:relative;width:122px;height:122px;overflow:hidden;display:grid;place-items:center;border:1px solid rgba(167,139,250,.4);border-radius:30px;color:white;background:radial-gradient(circle at 35% 25%,rgba(167,139,250,.42),rgba(16,13,31,.94));cursor:pointer;transition:.2s ease}.player-avatar-preview:hover{transform:translateY(-2px);border-color:var(--accent-lavender);box-shadow:0 14px 34px rgba(0,0,0,.25)}.player-avatar-preview>span{font-family:var(--font-heading);font-size:46px}.player-avatar-preview>img{width:100%;height:100%;object-fit:cover}.player-avatar-preview>svg{position:absolute;right:8px;bottom:8px;width:30px;height:30px;padding:7px;border-radius:10px;color:white;background:rgba(124,58,237,.9);box-shadow:0 4px 14px rgba(0,0,0,.3)}.player-character-fields{min-width:0}.player-character-more{padding:0;border:1px solid var(--border-subtle);border-radius:14px;background:rgba(12,10,20,.35)}.player-character-more summary{display:flex;align-items:center;gap:9px;padding:14px 16px;color:var(--accent-lavender);font-size:12px;font-weight:700;cursor:pointer;list-style:none}.player-character-more summary::-webkit-details-marker{display:none}.player-character-more summary svg{width:17px}.player-character-more[open] summary{border-bottom:1px solid var(--border-subtle)}.player-character-more>.form-grid{padding:15px}
@media(max-width:1050px){.path-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.preset-grid{grid-template-columns:1fr}.path-card{min-height:230px}.path-icon{margin-bottom:22px}.config-layout{grid-template-columns:1fr}.sticky-card{position:static}.session-kind-picker{flex-wrap:wrap}.session-kind-label{width:100%;text-align:center}}
@media(max-width:700px){.player-character-layout{grid-template-columns:1fr}.player-avatar-editor{margin-bottom:4px}}
@media(max-width:600px){.path-grid{grid-template-columns:1fr}.session-kind-option{width:100%;min-width:0}.builder-progress i{width:14px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.step-heading{align-items:flex-start;flex-direction:column-reverse}.character-picker{grid-template-columns:repeat(2,1fr)}.character-title{align-items:flex-start;flex-wrap:wrap}.character-title .btn{width:100%}.builder-actions,.context-upload-row{align-items:stretch;flex-direction:column-reverse}.workshop-build{align-items:flex-start;flex-direction:column}.workshop-build .btn,.context-upload-row .btn{width:100%}.guided-world-heading,.canonicity-heading{align-items:flex-start;flex-direction:column}.builder-nav-actions{gap:4px}.builder-nav-actions .btn-sm{font-size:10px;padding-inline:7px}.builder-nav-actions .btn:not(.btn-sm){font-size:11px;padding-inline:8px}}
@media(prefers-reduced-motion:reduce){.path-card{transition:none}}
.coop-billing-panel{margin:18px 0 28px;padding:20px;border:1px solid rgba(167,139,250,.25);border-radius:18px;background:linear-gradient(135deg,rgba(124,58,237,.11),rgba(15,12,28,.82));display:grid;gap:16px}.coop-billing-panel[hidden]{display:none}.coop-billing-panel h3{margin:4px 0 6px}.coop-billing-panel p,.coop-billing-panel small{color:var(--text-muted)}.coop-billing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.coop-billing-grid label{display:grid;gap:8px;font-size:13px;color:var(--text-secondary)}.coop-billing-panel small{display:flex;gap:7px;align-items:center}.coop-billing-panel small svg{width:16px}@media(max-width:700px){.coop-billing-grid{grid-template-columns:1fr}}
.story-boundaries{display:grid;gap:14px;margin:18px 0;padding:16px;border:1px solid rgba(167,139,250,.18);border-radius:16px;background:rgba(10,8,20,.4)}.boundaries-title{display:flex;gap:10px;align-items:center}.boundaries-title svg{width:22px;color:#c4b5fd}.boundaries-title div{display:grid;gap:2px}.boundaries-title small,.age-confirm small{color:var(--text-muted);line-height:1.35}.boundary-switches{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.boundary-switches label{display:grid;place-items:center;gap:5px;padding:9px 5px;background:rgba(255,255,255,.025);border:1px solid var(--border-subtle);border-radius:10px;font-size:11px;text-align:center}.age-confirm{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:12px;background:rgba(52,211,153,.07);border:1px solid rgba(52,211,153,.2)}.age-confirm span{display:grid;gap:3px}.age-confirm input{margin-top:3px;accent-color:#34d399}@media(max-width:700px){.boundary-switches{grid-template-columns:1fr}}
.builder-access-card{max-width:680px;margin:clamp(40px,10vh,120px) auto 0;padding:42px 34px;text-align:center;background:linear-gradient(145deg,rgba(36,29,66,.92),rgba(19,16,36,.84));border:1px solid rgba(167,139,250,.32);border-radius:24px;box-shadow:0 20px 70px rgba(0,0,0,.22)}.builder-access-card__icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:18px;color:var(--accent-lavender);background:var(--accent-violet-dim)}.builder-access-card__icon svg{width:26px}.builder-access-card h1{margin:10px 0 12px;font-size:clamp(2rem,5vw,3.3rem)}.builder-access-card p{max-width:540px;margin:0 auto;color:var(--text-secondary);line-height:1.7}.builder-access-card__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:26px}@media(max-width:600px){.builder-access-card{padding:30px 20px}.builder-access-card__actions{flex-direction:column}.builder-access-card__actions .btn{width:100%}}
.world-draft-recovery{display:grid;gap:9px;padding:12px 14px;border:1px solid rgba(251,191,36,.25);border-radius:12px;background:rgba(251,191,36,.06)}.world-draft-recovery[hidden]{display:none}.world-draft-recovery p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.55}.world-draft-recovery .btn{justify-self:start}.world-draft-recovery .btn[hidden]{display:none}@media(max-width:600px){.world-draft-recovery .btn{width:100%}}
