.character-atelier{--atelier-violet:#bca0ff;--atelier-coral:#ff9caa;--atelier-border:#394253;max-width:1440px;color:var(--ink);margin-inline:auto;container-type:inline-size}.character-atelier *,.character-atelier :before,.character-atelier :after{box-sizing:border-box}.character-atelier :is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid var(--atelier-violet);outline-offset:4px}.character-atelier a{text-underline-offset:4px}.character-atelier .studio-tabs{border:0;gap:4px;margin:0 0 30px;padding:0}.character-atelier .studio-tabs a{min-height:44px;color:var(--muted);align-items:center;display:inline-flex}.character-atelier .studio-tabs a[aria-current=page]{color:#dfd2ff;box-shadow:inset 0 -2px var(--atelier-violet);background:#bca0ff12;border-radius:6px 6px 0 0}.atelier-header{justify-content:space-between;align-items:center;gap:24px;padding-bottom:30px;display:flex}.atelier-title{align-items:center;gap:18px;min-width:0;display:flex}.atelier-title .ficplay-logo{flex:0 0 60px;width:60px;height:60px}.atelier-title .ficplay-logo-symbol{width:60px;height:60px}.atelier-title h1{letter-spacing:-.045em;text-wrap:balance;font-size:clamp(26px,3.3cqi,42px);line-height:1.16}.atelier-title p{color:var(--muted);margin:8px 0 0;font-size:14px}.atelier-back{color:var(--muted);flex-shrink:0;align-items:center;min-height:44px;font-size:13px;display:inline-flex}.atelier-back:hover{color:var(--ink)}.atelier-document-bar{border-block:1px solid var(--atelier-border);color:var(--muted);background:linear-gradient(100deg,#bca0ff0b,#0000 65%);justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px;padding:18px 22px;font-size:12px;display:flex}.atelier-document-bar strong{color:var(--ink);overflow-wrap:anywhere;margin-top:4px;font-size:16px;display:block}.atelier-save-state{text-align:right;max-width:50%;line-height:1.6}.atelier-layout{grid-template-columns:158px minmax(0,1fr);align-items:start;gap:28px;display:grid}.atelier-navigation{min-width:0;position:sticky;top:80px}.atelier-nav-desktop>p{color:var(--muted);padding:6px 10px 16px;font-size:12px}.atelier-nav-desktop>a{min-height:46px;color:var(--muted);border-left:2px solid #0000;align-items:center;padding:10px;font-size:13px;line-height:1.5;transition:color .15s,background-color .15s;display:flex}.atelier-nav-desktop>a:hover{color:var(--ink);background:#ffffff05}.atelier-nav-desktop>a[aria-current=location]{color:#e2d5ff;border-color:var(--atelier-violet);background:linear-gradient(90deg,#bca0ff13,#0000)}.atelier-nav-desktop>small{color:var(--muted);padding:20px 10px 0;font-size:12px;line-height:1.7;display:block}.atelier-nav-mobile{display:none}.atelier-form,.atelier-fields{min-width:0}.atelier-fields{border:0;margin:0;padding:0}.atelier-section{background:var(--surface);border:1px solid var(--atelier-border);border-radius:12px;min-width:0;margin-bottom:22px;padding:30px;scroll-margin-top:90px}.atelier-section-heading{border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:24px}.atelier-section-heading h2{letter-spacing:-.025em;font-size:23px;font-weight:650}.atelier-section-heading p{color:var(--muted);margin-top:7px;font-size:13px;line-height:1.6}.atelier-section h2:focus{outline:2px solid var(--atelier-violet);outline-offset:6px}.atelier-field{gap:9px;min-width:0;margin-block:24px;display:grid}.atelier-label{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.atelier-field label,.atelier-visibility legend{font-size:14px;font-weight:650}.atelier-label>span{color:var(--muted);white-space:nowrap;font-size:11px}.atelier-help{color:var(--muted);max-width:75ch;font-size:13px;line-height:1.7}.character-atelier .atelier-field :is(input,textarea,select),.atelier-nav-mobile select{width:100%;min-width:0;min-height:46px;color:var(--ink);font:inherit;background:#151921;border:1px solid #69778d;border-radius:7px;padding:12px 14px;font-size:15px;line-height:1.65;transition:border-color .15s}.character-atelier .atelier-field textarea{resize:vertical;min-height:114px}.character-atelier .atelier-field :is(input,textarea,select):hover{border-color:#8796ad}.character-atelier .atelier-field :is(input,textarea,select):focus{border-color:var(--atelier-violet)}.character-atelier .atelier-field :is(input,textarea,select)[aria-invalid=true]{border-color:var(--atelier-coral)}.atelier-field-error{color:#ffb5bf;font-size:13px;line-height:1.6}.atelier-count{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;font-size:11px;line-height:1.8}.atelier-field-footer{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.atelier-example{min-width:0}.atelier-example summary{color:#cfbaff;cursor:pointer;align-items:center;gap:8px;width:fit-content;min-height:44px;font-size:12px;display:flex}.atelier-example summary::marker{content:""}.atelier-example summary span{transition:transform .15s}.atelier-example[open] summary span{transform:rotate(90deg)}.atelier-example[open]{grid-area:2/1/auto/-1}.atelier-field-footer:has(.atelier-example[open])>.atelier-count{grid-area:1/2}.atelier-example>div{color:var(--muted);border-left:2px solid #bca0ff66;padding:4px 0 4px 18px;font-size:13px;line-height:1.8}.atelier-example blockquote{color:#eee6ff;white-space:pre-wrap;overflow-wrap:anywhere;background:#bca0ff09;border-radius:6px;margin:12px 0;padding:14px 16px}.atelier-context-note,.atelier-privacy-note{border-left:2px solid var(--atelier-violet);color:#c7c6d9;background:#bca0ff08;margin-top:18px;padding:16px 18px;font-size:13px;line-height:1.75}.atelier-privacy-note{color:var(--muted);background:0 0;border:none;padding:0;font-size:12px}.atelier-preferences>summary,.atelier-history>summary{min-height:44px;padding-block:10px;font-size:14px;font-weight:600}.atelier-preferences>.atelier-help{margin-top:12px}.atelier-default{border:1px solid var(--line);color:#bbc5d6;background:#151921;border-radius:8px;padding:18px;font-size:13px;line-height:1.8}.atelier-default strong{color:var(--ink);margin-bottom:10px;font-size:12px;display:block}.atelier-opening-preview{overflow-wrap:anywhere;background:#151921;border:1px solid #bca0ff38;border-radius:10px;margin-top:22px;padding:20px}.atelier-preview-label{color:var(--atelier-violet);margin-bottom:18px;font-size:12px}.atelier-opening-preview>strong{font-size:14px}.atelier-message{white-space:pre-wrap;padding-block:14px;font-size:14px;line-height:1.85}.atelier-message .roleplay-action{color:#b8c6da}.atelier-message .roleplay-thought{color:#d0bded}.atelier-opening-preview>small,.atelier-preview-copy small{color:var(--muted);font-size:11px;line-height:1.6}.atelier-empty{color:var(--muted)}.atelier-review{background:#bca0ff09;border:1px solid #bca0ff32;border-radius:8px;margin-bottom:20px;padding:18px 20px}.atelier-review h3{margin-bottom:10px;font-size:16px}.atelier-review p{font-size:13px;line-height:1.7}.atelier-review ul{margin:10px 0;padding-left:20px;font-size:13px;line-height:2}.atelier-review a,.atelier-publication-links a{color:#dbcaff}.atelier-review .atelier-help{margin-top:12px;font-size:12px}.atelier-cover-editor{border-block:1px solid var(--line);grid-template-columns:100px minmax(0,1fr);align-items:center;gap:20px;margin-block:20px;padding-block:20px;display:grid}.atelier-cover-thumb{aspect-ratio:3/4;border-radius:8px;overflow:hidden}.atelier-cover-thumb .cover,.atelier-preview-cover .cover{object-fit:cover;width:100%;height:100%}.atelier-upload{margin-bottom:12px;font-size:14px;font-weight:600;display:block}.atelier-cover-editor input{width:100%;min-height:44px;color:var(--muted);font-size:12px}.atelier-cover-editor input::file-selector-button{color:#f1eaff;cursor:pointer;background:#372b4c;border:1px solid #9b80d0;border-radius:5px;margin-right:10px;padding:10px}.atelier-visibility{border:0;gap:10px;margin-block:24px 8px;padding:0;display:grid}.atelier-visibility legend{margin-bottom:12px}.atelier-visibility label{border:1px solid var(--line);cursor:pointer;border-radius:7px;align-items:center;gap:14px;min-height:64px;padding:14px;display:flex}.atelier-visibility label:has(:checked){background:#bca0ff0a;border-color:#bca0ff8c}.atelier-visibility input{accent-color:#bca0ff;width:18px;height:18px}.atelier-visibility strong{font-size:13px}.atelier-visibility small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.6;display:block}.atelier-publication{gap:16px;margin-top:24px;font-size:13px;line-height:1.7;display:grid}.atelier-publication h3{font-size:17px}.atelier-publication>.button{justify-self:start}.atelier-publication-links{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.atelier-history{border-block:1px solid var(--line);margin-block:24px;padding-block:12px}.atelier-history .history-revision{min-height:44px}.atelier-companion{grid-column:2;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;min-width:0;scroll-margin-top:90px;display:grid}.atelier-catalog-preview{border:1px solid var(--atelier-border);background:#1d2430;border-radius:12px;overflow:hidden}.atelier-catalog-preview>.atelier-preview-label{margin:0;padding:16px 18px}.atelier-preview-cover{height:210px;overflow:hidden}.atelier-preview-copy{overflow-wrap:anywhere;padding:18px}.atelier-preview-copy h2{margin-bottom:10px;font-size:20px;line-height:1.4}.atelier-preview-copy p{color:#c0cad9;margin-bottom:12px;font-size:13px;line-height:1.8}.atelier-catalog-preview>a{border-top:1px solid var(--line);color:#d7c2ff;align-items:center;min-height:48px;margin-inline:18px;font-size:12px;display:flex}.atelier-companion-note{padding:16px 4px}.atelier-companion-note h3{letter-spacing:-.025em;font-size:20px;line-height:1.5}.atelier-companion-note p{color:var(--muted);margin-top:16px;font-size:13px;line-height:1.8}.atelier-companion-note a{color:#d7c2ff;align-items:center;min-height:44px;margin-top:10px;font-size:12px;display:inline-flex}.atelier-actions{border-top:1px solid var(--atelier-border);justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:24px 0;display:flex}.atelier-actions>span{font-size:13px;font-weight:600}.atelier-actions small{color:var(--muted);margin-top:6px;font-size:12px;font-weight:400;display:block}.atelier-actions>div{flex-wrap:wrap;gap:10px;display:flex}.character-atelier .button.primary{color:#231631;background:#c5a7ff;border-color:#c5a7ff;font-weight:650}.character-atelier .button.primary:hover:not(:disabled){background:#d8c2ff}.character-atelier .button{min-height:46px}.character-atelier :disabled{cursor:wait;opacity:.65}@container (min-width:1120px){.atelier-layout{grid-template-columns:158px minmax(0,1fr) 260px}.atelier-companion{grid-column:3;grid-template-columns:minmax(0,1fr);position:sticky;top:80px}}@container (max-width:799px){.atelier-header{flex-direction:column;align-items:flex-start;gap:16px;padding-bottom:18px}.atelier-title{gap:12px}.atelier-title .ficplay-logo,.atelier-title .ficplay-logo-symbol{flex-basis:44px;width:44px;height:44px}.atelier-title h1{font-size:clamp(25px,5.5cqi,34px)}.atelier-title p{font-size:13px}.atelier-back{min-height:36px}.atelier-document-bar{gap:12px;margin-bottom:16px;padding:14px 0}.atelier-document-bar strong{font-size:14px}.atelier-save-state{font-size:11px}.atelier-layout{display:block}.atelier-navigation{margin-bottom:20px;position:static}.atelier-nav-desktop{display:none}.atelier-nav-mobile{color:var(--muted);gap:8px;font-size:12px;display:grid}.atelier-nav-mobile select{font-size:16px}.atelier-section{padding:22px;scroll-margin-top:80px}.atelier-section-heading h2{font-size:22px}.character-atelier .atelier-field :is(input,textarea,select){font-size:16px}.atelier-field-footer{gap:6px}.atelier-count{font-size:10px}.atelier-companion{display:block}.atelier-companion-note{padding:20px 0}.atelier-preview-cover{height:230px}.atelier-actions{padding-bottom:calc(20px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:16px}.atelier-actions>div{flex-direction:column}.atelier-actions .button{width:100%}}@container (max-width:380px){.atelier-section{padding:18px 14px}.atelier-label{gap:8px}.atelier-cover-editor{grid-template-columns:70px minmax(0,1fr);gap:12px}.atelier-field-footer{flex-direction:column-reverse;align-items:stretch;display:flex}.atelier-title h1{font-size:24px}}@media (prefers-reduced-motion:reduce){.character-atelier *,.character-atelier :before,.character-atelier :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
