:root{color:#111827;background:#f6f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.shell{min-height:100vh}.topbar{align-items:center;background:#ffffff;border-bottom:1px solid #e5e7eb;display:flex;gap:16px;height:64px;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.brand{align-items:center;display:flex;gap:12px;font-weight:800}.brand-mark{align-items:center;background:#111827;border-radius:8px;color:#22d3ee;display:grid;height:36px;justify-content:center;width:36px}.container{margin:0 auto;max-width:1180px;padding:28px}.login{background:#ffffff;border:1px solid #e5e7eb;border-radius:8px;margin:12vh auto 0;max-width:420px;padding:28px}.login h1,.panel h2{margin:0 0 8px}.muted{color:#64748b}.form{display:grid;gap:12px;margin-top:20px}.field{display:grid;gap:6px}.field span{color:#334155;font-size:13px;font-weight:700}input,select,textarea{background:#ffffff;border:1px solid #cbd5e1;border-radius:6px;min-height:42px;padding:0 12px}textarea{min-height:92px;padding:10px 12px;resize:vertical}button{background:#111827;border:0;border-radius:6px;color:#fff;cursor:pointer;font-weight:800;min-height:40px;padding:0 14px}button.secondary{background:#e2e8f0;color:#0f172a}button.danger{background:#dc2626}button:disabled{cursor:not-allowed;opacity:.5}.tabs{display:flex;gap:8px;margin-bottom:18px}.tabs button{background:transparent;border:1px solid #cbd5e1;color:#334155}.tabs button.active{background:#111827;border-color:#111827;color:#fff}.panel{background:#ffffff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.panel-head{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;justify-content:space-between;padding:18px}.toolbar{display:flex;flex-wrap:wrap;gap:10px}.metric{align-items:flex-end;display:grid;gap:2px;margin-left:auto;text-align:right}.metric span{color:#64748b;font-size:12px;font-weight:700;text-transform:uppercase}.metric strong{font-size:28px;line-height:1}.table-wrap{overflow:auto}table{border-collapse:collapse;min-width:980px;width:100%}th,td{border-bottom:1px solid #edf2f7;padding:12px 14px;text-align:left;vertical-align:top}th{background:#f8fafc;color:#475569;font-size:12px;text-transform:uppercase}.pill{background:#ecfeff;border:1px solid #a5f3fc;border-radius:999px;color:#0e7490;display:inline-flex;font-size:12px;font-weight:800;padding:3px 8px}.error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;margin-top:14px;padding:10px 12px}.success{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:6px;color:#166534;margin:14px 0;padding:10px 12px}.token{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;max-width:340px;overflow-wrap:anywhere}.character-form{border-bottom:1px solid var(--ms-border, #e5e7eb);display:grid;gap:16px 18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:22px}.character-prompt{grid-column:1 / -1}.character-submit{grid-column:1 / -1;display:flex}.character-form input[type=file]{width:100%;padding:8px 10px;border:1px solid var(--ms-border, #e5e7eb);border-radius:10px;background:#faf9ff;color:#475569;font-size:13px}.character-form input[type=file]::file-selector-button{margin-right:10px;padding:6px 12px;border:0;border-radius:8px;background:#f1eefb;color:var(--ms-primary-dark, #5b3fe0);font-weight:700;cursor:pointer}.character-form input[type=file]::file-selector-button:hover{filter:brightness(.97)}.character-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));padding:22px}.character-item{border:1px solid var(--ms-border, #e5e7eb);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 8px 24px #1a15300f;transition:transform .15s ease,box-shadow .15s ease}.character-item:hover{transform:translateY(-3px);box-shadow:0 16px 34px #7c5cff29}.character-item.is-hidden{opacity:.72}.character-item img{background:linear-gradient(180deg,#faf9ff,#f1eefb);display:block;height:190px;object-fit:contain;width:100%;border-bottom:1px solid var(--ms-border, #eef0f5)}.character-item-body{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;padding:14px 14px 10px}.character-item-body strong{font-size:14.5px}.character-item .pill{flex-shrink:0}.character-item:not(.is-hidden) .pill{background:#dcfce7;color:#15803d}.character-item.is-hidden .pill{background:#eef0f5;color:#64748b}.character-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px 14px}.character-actions button{width:100%;min-height:38px;padding:0 10px;font-size:13px}@media (max-width: 760px){.character-form{grid-template-columns:1fr}.character-prompt{grid-column:auto}}:root{--ms-primary: #7c5cff;--ms-primary-dark: #5a3ce0;--ms-ink: #1a1530;--ms-bg: #f4f3fb;--ms-card: #ffffff;--ms-border: #e7e4f2;--ms-muted: #6b6680;background:var(--ms-bg);color:var(--ms-ink)}.topbar{background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--ms-border)}.brand-mark{background:linear-gradient(135deg,var(--ms-primary),var(--ms-primary-dark));color:#fff;font-weight:800;box-shadow:0 6px 16px #7c5cff59}.muted{color:var(--ms-muted)}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;background:#efecfa;padding:6px;border-radius:999px;width:fit-content}.tabs button{border:0;background:transparent;color:var(--ms-muted);padding:8px 16px;border-radius:999px;font-weight:600;cursor:pointer;transition:all .15s ease}.tabs button:hover{color:var(--ms-ink)}.tabs button.active{background:linear-gradient(135deg,var(--ms-primary),var(--ms-primary-dark));color:#fff;box-shadow:0 4px 12px #7c5cff59}.panel{background:var(--ms-card);border:1px solid var(--ms-border);border-radius:16px;box-shadow:0 10px 30px #1a15300d;overflow:hidden}.panel-head{padding:20px 22px;border-bottom:1px solid var(--ms-border);align-items:center;gap:16px;flex-wrap:wrap}.panel-head h2{margin:0 0 2px;font-size:18px}button{background:linear-gradient(135deg,var(--ms-primary),var(--ms-primary-dark));color:#fff;border:0;border-radius:10px;padding:9px 16px;font-weight:600;cursor:pointer;transition:filter .15s ease,transform .1s ease}button:hover{filter:brightness(1.06)}button:active{transform:translateY(1px)}button.secondary{background:#f1eefb;color:var(--ms-primary-dark)}.pill{background:#f0ecfb;color:var(--ms-primary-dark);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}table thead th{background:#faf9ff;color:var(--ms-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}table tbody tr:hover{background:#faf9ff}.metric-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.metric{display:flex;flex-direction:column;background:#faf9ff;border:1px solid var(--ms-border);border-radius:12px;padding:8px 14px;min-width:88px}.metric span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ms-muted)}.metric strong{font-size:20px}.creations{display:flex;flex-direction:column;gap:18px;padding:18px}.user-card{border:1px solid var(--ms-border);border-radius:14px;background:#fcfbff;overflow:hidden}.user-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--ms-border);flex-wrap:wrap}.user-card-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.story-block{padding:12px 16px;border-bottom:1px dashed var(--ms-border)}.story-block:last-child{border-bottom:0}.story-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.tile{margin:0;border:1px solid var(--ms-border);border-radius:10px;overflow:hidden;background:#fff}.tile img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:#f0eefa}.tile-empty{display:grid;place-items:center;aspect-ratio:16 / 9;color:var(--ms-muted);background:#f0eefa;font-weight:700}.tile figcaption{padding:6px 8px;font-size:11px;color:var(--ms-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;padding:18px}.plan-card{display:flex;flex-direction:column;gap:10px;border:1px solid var(--ms-border);border-radius:14px;background:#fcfbff;padding:16px}.plan-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;border-bottom:1px solid var(--ms-border);padding-bottom:8px}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plan-card .field span{display:block;font-size:12px;color:var(--ms-muted);margin-bottom:4px}.plan-card input,.plan-card textarea{width:100%;padding:8px 10px;border:1px solid var(--ms-border);border-radius:8px;background:#fff}.plan-toggles{display:flex;flex-wrap:wrap;gap:14px}.plan-toggles .check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ms-ink)}.plan-actions{display:flex;gap:8px;margin-top:4px}.gallery-tools{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border-bottom:1px solid var(--ms-border)}.gallery-row{display:flex;gap:10px;flex-wrap:wrap}.gallery-row input{flex:1;min-width:200px;padding:9px 12px;border:1px solid var(--ms-border);border-radius:8px}.gallery-upload{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--ms-muted)}.gallery-upload input{font-size:12px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;padding:18px}.g-item{margin:0;border:1px solid var(--ms-border);border-radius:12px;overflow:hidden;background:#fff}.g-item.is-hidden{opacity:.5}.g-item img{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;background:#f0eefa}.g-item figcaption{display:flex;align-items:center;gap:6px;padding:8px 10px;font-size:12px}.g-actions{display:flex;gap:6px;padding:0 10px 10px}.g-actions button{flex:1;padding:6px 8px;font-size:12px}.tile{position:relative}.tile-add{position:absolute;top:6px;right:6px;padding:3px 8px;font-size:11px;border-radius:99px;opacity:0;transition:opacity .15s}.tile:hover .tile-add{opacity:1}.tile-add.in-gallery{opacity:1;background:#2e7d32;color:#fff}.pill-deleted{background:#ffe3e3;color:#c62828;margin-left:8px}.is-deleted{opacity:.55}.tile.is-deleted img{filter:grayscale(.6)}
