:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;--sg-ink:#18171c;--sg-navy:#2f2e38;--sg-navy-600:#474653;--sg-cream:#f1f1f3;--sg-cream-2:#e4e3e8;--sg-sun:#76748b;--sg-sun-600:#5e5d6f;--sg-gold:#9190a2;--sg-sky:#9190a2;--sg-sky-strong:#5e5d6f;--sg-muted:#76748b;--sg-border:#c8c7d1;--sg-surface:#fff;--sg-surface-2:#f1f1f3;--sg-shadow:rgba(17,16,19,.12);background-color:var(--sg-cream);color:var(--sg-ink)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at top,#fff,var(--sg-cream))}.shell-container{width:min(1180px,100%);margin:0 auto;padding:0 1.5rem}.site-header{position:-webkit-sticky;position:sticky;top:0;background:hsla(240,8%,95%,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--sg-border);z-index:10}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.85rem 0}.site-brand{display:flex;align-items:center;gap:.75rem;font-weight:800;color:var(--sg-navy)}.site-brand__tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sg-navy);background:var(--sg-cream-2);padding:.2rem .55rem;border-radius:999px}.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.site-nav a{font-weight:600;padding:.45rem .75rem;border-radius:10px;border:1px solid transparent;transition:all .16s ease}.site-nav a:focus-visible,.site-nav a:hover{background:hsla(245,9%,50%,.12);border-color:hsla(245,9%,50%,.35);color:var(--sg-sky-strong);text-decoration:none}.app-main{flex:1 1;padding:2.5rem 0 3rem;display:flex;justify-content:center}.container{width:min(1000px,100%);background:linear-gradient(180deg,#fff 0,var(--sg-cream) 100%);border:1px solid var(--sg-border);border-radius:20px;box-shadow:0 18px 50px var(--sg-shadow);padding:2.25rem 2.5rem}.page-context{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;color:var(--sg-navy);font-weight:700;letter-spacing:.01em}.page-context strong{color:var(--sg-sky-strong)}.page-surface{display:grid;grid-gap:1.5rem;gap:1.5rem}h1{margin:0 0 .75rem;font-size:2.25rem}h2{margin:1.75rem 0 .65rem;font-size:1.3rem}p{margin:0 0 .75rem;line-height:1.6;color:var(--sg-muted)}.badge-row{display:flex;gap:.5rem;margin-bottom:1.5rem}.badge-row,.pill{align-items:center}.pill{display:inline-flex;gap:.45rem;padding:.35rem .8rem;background:hsla(245,9%,50%,.16);border-radius:999px;color:var(--sg-navy);font-weight:700;letter-spacing:.02em}.pill .dot{width:10px;height:10px;border-radius:50%;background:var(--sg-sun);box-shadow:0 0 0 4px hsla(245,9%,50%,.2)}.pill.ghost{background:var(--sg-cream-2);color:var(--sg-navy)}.pill.success{background:hsla(245,9%,50%,.16);color:var(--sg-navy)}.pill.warning{background:rgba(71,70,83,.18);color:var(--sg-navy)}.session-table{display:grid;grid-gap:1.5rem;gap:1.5rem}.session-table__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.session-table__grid{display:grid;grid-gap:1.5rem;gap:1.5rem}.session-table__lane{background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:18px;padding:1.25rem;display:grid;grid-gap:1rem;gap:1rem}.session-table__lane header{display:flex;align-items:center;justify-content:space-between;color:var(--sg-navy)}.session-table__lane h3{margin:0}.card-dropzone{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1rem;gap:1rem;min-height:140px}.card-tile{border:1px solid transparent;border-radius:16px;padding:0;background:var(--sg-cream-2);display:grid;grid-gap:.65rem;gap:.65rem;text-align:left;cursor:-webkit-grab;cursor:grab;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.card-tile img{width:100%;border-radius:16px 16px 0 0;display:block}.card-tile__placeholder{padding:2rem 1rem;text-align:center;font-weight:700;color:var(--sg-navy)}.card-tile__meta{padding:0 1rem 1rem;display:grid;grid-gap:.25rem;gap:.25rem;color:var(--sg-navy)}.card-tile.is-dragging{opacity:.6;cursor:-webkit-grabbing;cursor:grabbing;transform:scale(.98)}.dice-grid,.token-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem}.dice-tile,.token-chip{display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;border-radius:14px;border:1px solid var(--sg-border);background:var(--sg-surface-2)}.dice-tile__value{width:48px;height:48px;border-radius:12px;background:hsla(245,9%,50%,.16);display:grid;place-items:center;font-weight:800;color:var(--sg-navy)}.token-chip__shape{width:34px;height:34px;border-radius:50%;border:2px solid rgba(47,46,56,.2)}.token-chip__shape.square{border-radius:6px}.token-chip__shape.hex{-webkit-clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.dashboard-grid{display:grid;grid-gap:1rem;gap:1rem}.grid{display:grid;grid-gap:1.5rem;gap:1.5rem}.grid.two{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.section-card{border:1px solid var(--sg-border);border-radius:18px;background:var(--sg-surface);padding:1.5rem;box-shadow:0 12px 30px rgba(17,16,19,.08);display:grid;grid-gap:1rem;gap:1rem}.section-card__header{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;justify-content:space-between}.section-card__header h2{margin:0 0 .35rem}.section-card__header p{margin:0}.button{border-radius:10px;border:1px solid var(--sg-sun-600);background:linear-gradient(135deg,var(--sg-sun) 0,var(--sg-sun-600) 100%);color:#fff;padding:.45rem .9rem;font-weight:600;cursor:pointer}.button.ghost{border-color:var(--sg-border);background:var(--sg-surface-2);color:var(--sg-navy)}.button.ghost.danger{border-color:rgba(71,70,83,.4);color:var(--sg-navy)}.button:disabled{opacity:.6;cursor:not-allowed}.field{display:grid;grid-gap:.35rem;gap:.35rem;font-weight:600;color:var(--sg-navy)}.field input,.field select{border-radius:10px;border:1px solid var(--sg-border);padding:.45rem .6rem;font-size:.95rem;width:100%;max-width:100%;box-sizing:border-box}.chat-list{list-style:none;margin:0;display:grid;grid-gap:.75rem;gap:.75rem;max-height:320px;overflow-y:auto;border:1px solid var(--sg-border);border-radius:16px;background:var(--sg-surface-2);padding:.75rem}.chat-item{background:var(--sg-surface);border-radius:12px;padding:.75rem .9rem;box-shadow:0 8px 16px rgba(17,16,19,.08);display:grid;grid-gap:.4rem;gap:.4rem}.chat-item .tag{margin-left:.5rem;font-size:.75rem;text-transform:uppercase;color:var(--sg-sun-600)}.chat-item p{margin:0;color:var(--sg-navy)}.chat-empty{padding:1rem}.chat-form{display:grid;grid-gap:.6rem;gap:.6rem;font-weight:600;color:var(--sg-navy)}.chat-form textarea{border-radius:12px;border:1px solid var(--sg-border);padding:.6rem .75rem;font-size:.95rem;resize:vertical}.field-hint{color:var(--sg-muted);font-size:.85rem}.asset-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.asset-info{background:hsla(245,9%,50%,.08);padding:.75rem .9rem;border-radius:12px;color:var(--sg-navy);font-weight:600}.asset-details{display:grid;grid-gap:1.2rem;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start}.asset-preview{border-radius:16px;border:1px solid var(--sg-border);background:var(--sg-surface-2);padding:1rem;display:flex;align-items:center;justify-content:center;min-height:220px}.asset-preview img{max-width:100%;max-height:280px;border-radius:12px;object-fit:contain}.asset-preview audio{width:100%}.asset-meta{display:grid;grid-gap:.4rem;gap:.4rem;color:var(--sg-muted);font-size:.92rem}.asset-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.asset-editor{display:grid;grid-gap:.8rem;gap:.8rem}@media (min-width:960px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.panel{border:1px solid var(--sg-border);border-radius:16px;padding:1.25rem 1.4rem;background:linear-gradient(180deg,var(--sg-surface-2) 0,#fff 100%);display:grid;grid-gap:.75rem;gap:.75rem}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:700;color:var(--sg-navy)}.panel-actions{display:flex;flex-wrap:wrap;gap:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:10px;padding:.45rem .85rem;border:1px solid var(--sg-sun-600);background:linear-gradient(135deg,var(--sg-sun) 0,var(--sg-sun-600) 100%);color:#fff;font-weight:600;cursor:pointer}.btn.secondary{border-color:hsla(245,9%,50%,.35);background:hsla(245,9%,50%,.08);color:var(--sg-sky-strong)}.btn.ghost{border-color:transparent;background:hsla(245,9%,50%,.16);color:var(--sg-navy)}.form-grid{display:grid;grid-gap:1rem;gap:1rem}@media (min-width:840px){.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-field{display:grid;grid-gap:.35rem;gap:.35rem;font-weight:600;color:var(--sg-navy)}input,select,textarea{border-radius:10px;border:1px solid rgba(11,27,43,.2);padding:.6rem .75rem;font:inherit;background:var(--sg-surface)}textarea{min-height:120px;resize:vertical}.tag-row{display:flex;flex-wrap:wrap;gap:.4rem}.tag{background:hsla(245,9%,50%,.12);color:var(--sg-sky-strong);border-radius:999px;padding:.25rem .6rem;font-size:.8rem}.status,.tag{font-weight:600}.status{display:inline-flex;align-items:center;gap:.35rem;color:var(--sg-sun-600)}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.list{display:grid;grid-gap:.75rem;gap:.75rem;margin:0;padding:0;list-style:none}.list-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .9rem;border-radius:12px;border:1px solid var(--sg-border);background:var(--sg-surface)}.list-item strong{color:var(--sg-navy)}@media (max-width:840px){.app-main{padding:1.8rem 0 2.5rem}.container{padding:1.5rem}.site-header__inner{flex-direction:column;align-items:flex-start}}.element-preview-container{margin-top:1.5rem;padding:1.5rem;background:var(--sg-surface-2);border-radius:12px;border:1px solid var(--sg-border)}.element-preview-container h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--sg-navy)}.element-preview-container .muted{margin:0 0 1rem;font-size:.875rem;color:var(--sg-muted)}.card-assembly-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-top:1rem}.card-face-preview{display:flex;flex-direction:column;gap:.5rem}.preview-label{font-size:.875rem;font-weight:600;color:var(--sg-navy);text-align:center}.asset-preview-image{width:100%;height:auto;aspect-ratio:5/7;object-fit:cover;border-radius:8px;border:2px solid var(--sg-border);box-shadow:0 2px 8px var(--sg-shadow)}.preview-placeholder{width:100%;aspect-ratio:5/7;display:flex;align-items:center;justify-content:center;border-radius:8px;border:2px dashed var(--sg-border);color:var(--sg-muted);font-size:.875rem;background:var(--sg-surface)}.event-log-widget{display:grid;grid-gap:1rem;gap:1rem;background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:16px;padding:1.2rem}.event-log-widget__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--sg-navy)}.event-log-widget__header span{display:block;font-size:.9rem;color:var(--sg-muted);margin-top:.2rem}.event-log-widget__status{font-weight:700;text-transform:uppercase;font-size:.75rem;padding:.25rem .65rem;border-radius:999px;background:hsla(245,9%,50%,.16);color:var(--sg-sun-600)}.event-log-widget__status.streaming{background:rgba(56,120,112,.18);color:#1d5f58}.event-log-widget__status.error{background:rgba(202,59,59,.16);color:#9c2a2a}.event-log-widget__error{border-radius:12px;padding:.75rem 1rem;background:rgba(202,59,59,.1);color:#9c2a2a;border:1px solid rgba(202,59,59,.25);display:grid;grid-gap:.2rem;gap:.2rem}.event-log-widget__filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem;align-items:end}.event-log-widget__filters label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--sg-navy)}.event-log-widget__filters-meta{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;font-size:.85rem;color:var(--sg-muted)}.event-log-widget__list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.75rem;gap:.75rem}.event-log-widget__list li{border:1px solid var(--sg-border);border-radius:12px;padding:.75rem 1rem;background:var(--sg-surface-2);display:grid;grid-gap:.4rem;gap:.4rem}.event-log-widget__list pre{margin:0;background:rgba(17,16,19,.04);padding:.6rem .75rem;border-radius:10px;font-size:.8rem;color:var(--sg-navy);white-space:pre-wrap}.event-log-widget__meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:var(--sg-muted)}.card-layout-preview{flex-direction:column;padding:1rem;gap:.75rem;border:2px solid var(--sg-border);box-shadow:0 2px 8px var(--sg-shadow)}.card-layout-title{font-size:1.125rem;font-weight:700;color:var(--sg-navy);text-align:center}.card-layout-description{font-size:.875rem;color:var(--sg-navy-600);flex-grow:1;text-align:center}.card-layout-illustration{width:100%;height:80px;object-fit:contain;margin:.5rem 0}.card-layout-footer{font-size:.75rem;color:var(--sg-muted);text-align:center;border-top:1px solid var(--sg-border);padding-top:.5rem}.dice-faces-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));grid-gap:.75rem;gap:.75rem;margin-top:1rem}.dice-face-preview{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;border-radius:8px;border:2px solid var(--sg-border);box-shadow:0 2px 4px var(--sg-shadow);padding:.5rem;position:relative}.dice-face-number{position:absolute;top:4px;right:6px;font-size:.625rem;font-weight:600;color:var(--sg-muted);background:hsla(0,0%,100%,.8);padding:2px 6px;border-radius:4px}.dice-face-value{font-size:1.25rem;font-weight:700;color:var(--sg-navy);text-align:center;word-break:break-word}.dice-face-image{width:100%;height:100%;object-fit:contain}.token-preview-container{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:1rem}.token-preview{width:120px;height:120px;border-radius:50%;border:4px solid;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px var(--sg-shadow);overflow:hidden;position:relative}.token-preview-image{width:100%;height:100%;object-fit:cover}.token-preview-placeholder{font-size:3rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}