:root{--color-background: #f7f8fa;--color-surface: #ffffff;--color-surface-subtle: #f1f4f7;--color-surface-warm: #fff8f1;--color-text: #17243b;--color-text-muted: #617083;--color-text-soft: #7a8797;--color-border: #dce3ea;--color-border-strong: #c9d2dc;--color-primary: #e66a16;--color-primary-hover: #c5520d;--color-primary-soft: #fff1e6;--color-primary-text: #923d0b;--color-danger: #b42318;--color-danger-soft: #fff0ee;--color-success: #26734d;--color-success-soft: #eaf7f0;--color-footer: #17243b;--color-footer-muted: #b7c1cf;--content-width: 1120px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 28px;--shadow-sm: 0 8px 24px rgba(23, 36, 59, .07);--shadow-md: 0 18px 48px rgba(23, 36, 59, .1);--shadow-lg: 0 26px 70px rgba(23, 36, 59, .13);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text);background:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-background)}body{margin:0;min-width:320px;min-height:100vh;color:var(--color-text);background:var(--color-background)}#root{min-height:100vh}button,a,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}img,svg{display:block;max-width:100%}::selection{color:var(--color-text);background:var(--color-primary-soft)}:focus-visible{outline:3px solid rgba(199,102,27,.38);outline-offset:3px}.app-shell{display:flex;min-height:100vh;flex-direction:column}.app-shell__content{display:flex;flex:1;flex-direction:column}.primary-button,.secondary-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.15rem;border:1px solid transparent;border-radius:var(--radius-sm);font-weight:750;line-height:1;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.primary-button{color:#fff;background:var(--color-primary);box-shadow:0 8px 18px #c7661b33}.primary-button:hover{background:var(--color-primary-hover);box-shadow:0 10px 24px #a94f1040;transform:translateY(-1px)}.secondary-button{color:var(--color-text);border-color:var(--color-border-strong);background:var(--color-surface)}.secondary-button:hover{border-color:var(--color-primary);color:var(--color-primary-text);background:var(--color-surface-warm)}.app-container{min-height:100%;background:radial-gradient(circle at top right,rgba(199,102,27,.1),transparent 28%),radial-gradient(circle at left center,rgba(23,36,59,.06),transparent 26%),var(--color-background)}.main-content{width:min(var(--content-width),calc(100% - 32px));margin:0 auto;padding:32px 0 64px}.page-shell{padding:28px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:#ffffffe0;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.page-header{margin-bottom:24px}.eyebrow{margin:0 0 10px;color:var(--color-primary);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.page-title{margin:0;color:var(--color-text);font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.045em}.page-copy{max-width:68ch;margin:14px 0 0;color:var(--color-text-muted);line-height:1.7}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.toolbar a,.project-link,.back-link{color:var(--color-text);font-weight:700}.toolbar a:hover,.project-link:hover,.back-link:hover{color:var(--color-primary)}.back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.project-card,.empty-state,.notice-card{padding:22px;border:1px solid var(--color-border);border-radius:22px;background:var(--color-surface);box-shadow:var(--shadow-sm)}.project-card{display:flex;flex-direction:column;gap:14px}.project-card h3{margin:0;font-size:1.2rem}.project-card p,.empty-state p,.notice-card p{margin:0;color:var(--color-text-muted);line-height:1.65}.badge{display:inline-flex;width:fit-content;padding:6px 10px;border-radius:999px;color:var(--color-primary-text);background:var(--color-primary-soft);font-size:.8rem;font-weight:700}.project-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.meta-pill{padding:6px 10px;border-radius:999px;color:var(--color-text-muted);background:var(--color-surface-subtle);font-size:.8rem}.project-link{width:fit-content}.project-detail{max-width:860px}.project-hero{display:grid;gap:18px;margin-top:18px}.project-hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.detail-stat{padding:18px;border-radius:var(--radius-md);background:var(--color-surface-subtle)}.detail-stat span{display:block;margin-bottom:6px;color:var(--color-primary);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.detail-stat strong{color:var(--color-text);font-size:1rem}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.detail-panel{padding:20px;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface)}.detail-panel h3{margin:0 0 10px}.skeleton-line{display:block;height:14px;border-radius:999px;background:linear-gradient(90deg,#e8edf2,#f7f9fb,#e8edf2);background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite}.skeleton-line+.skeleton-line{margin-top:12px}.error-message{color:var(--color-danger)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{display:inline-block;animation:spin 1s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.center-box{display:flex;flex-direction:column;align-items:center;padding:2rem;text-align:center}@media(max-width:780px){.main-content{width:min(100% - 20px,var(--content-width));padding-top:20px}.page-shell{padding:20px;border-radius:22px}.toolbar{align-items:flex-start;flex-direction:column}.project-hero-grid,.detail-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.site-navbar{position:sticky;top:0;z-index:1000;width:100%;border-bottom:1px solid rgba(220,227,234,.9);background:#ffffffeb;box-shadow:0 8px 24px #17243b0f;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.site-navbar__inner{position:relative;display:flex;min-height:72px;align-items:center;justify-content:space-between;width:min(100% - 2rem,1200px);margin:0 auto}.site-navbar__brand{display:inline-flex;align-items:center;gap:.75rem;color:var(--color-text);font-size:1.15rem;font-weight:800;letter-spacing:-.02em}.site-navbar__logo{width:40px;height:40px;object-fit:contain;border-radius:var(--radius-sm)}.site-navbar__nav{display:flex;align-items:center;gap:.35rem}.site-navbar__link,.site-navbar__cta{display:inline-flex;min-height:42px;align-items:center;border-radius:var(--radius-sm);font-size:.95rem;font-weight:700;transition:background-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.site-navbar__link{padding:.65rem .9rem;color:var(--color-text-muted)}.site-navbar__link:hover{color:var(--color-text);background:var(--color-surface-subtle)}.site-navbar__link--active{color:var(--color-primary-text);background:var(--color-primary-soft)}.site-navbar__cta{justify-content:center;gap:.5rem;margin-left:.45rem;padding:.65rem 1rem;color:#fff;background:var(--color-primary);box-shadow:0 8px 18px #c7661b33}.site-navbar__cta:hover{background:var(--color-primary-hover);box-shadow:0 10px 24px #a94f1040;transform:translateY(-1px)}.site-navbar__cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.site-navbar__toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;padding:0;border:1px solid var(--color-border);border-radius:12px;color:var(--color-text);background:var(--color-surface);cursor:pointer}.site-navbar__toggle:hover{border-color:var(--color-border-strong);background:var(--color-surface-subtle)}.site-navbar__toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2}@media(max-width:760px){.site-navbar__inner{min-height:64px;width:min(100% - 1.5rem,1200px)}.site-navbar__logo{width:36px;height:36px}.site-navbar__toggle{display:inline-flex}.site-navbar__nav{position:absolute;top:calc(100% + .7rem);right:0;left:0;display:flex;flex-direction:column;align-items:stretch;gap:.35rem;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px) scale(.98);transform-origin:top;transition:opacity .16s ease,transform .16s ease,visibility .16s ease}.site-navbar__nav--open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.site-navbar__link,.site-navbar__cta{width:100%;min-height:46px}.site-navbar__link{justify-content:flex-start;padding-inline:1rem}.site-navbar__cta{margin:.35rem 0 0}}.site-footer{margin-top:auto;color:#f8fafc;background:var(--color-footer);border-top:4px solid var(--color-primary)}.site-footer__inner{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(140px,.6fr) minmax(240px,1fr);gap:clamp(2rem,5vw,5rem);width:min(100% - 2rem,1200px);margin:0 auto;padding:clamp(2.75rem,6vw,4.5rem) 0}.site-footer__brand-section,.site-footer__navigation,.site-footer__action{min-width:0}.site-footer__brand{display:inline-flex;align-items:center;gap:.75rem;color:#fff;font-size:1.2rem;font-weight:800;letter-spacing:-.02em}.site-footer__logo{width:42px;height:42px;object-fit:contain;border-radius:11px}.site-footer__description{max-width:34rem;margin:1rem 0 0;color:var(--color-footer-muted);line-height:1.7}.site-footer__heading{margin:0 0 1rem;color:#fff;font-size:.8rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.site-footer__navigation{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.site-footer__navigation a{color:var(--color-footer-muted);font-weight:650;transition:color .16s ease}.site-footer__navigation a:hover{color:#fff}.site-footer__action>p:not(.site-footer__heading){margin:0;color:var(--color-footer-muted);line-height:1.65}.site-footer__button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;margin-top:1.25rem;padding:.7rem 1rem;border-radius:var(--radius-sm);color:#fff;background:var(--color-primary);font-weight:800;transition:background-color .16s ease,transform .16s ease}.site-footer__button:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(100% - 2rem,1200px);margin:0 auto;padding:1.25rem 0;border-top:1px solid rgba(255,255,255,.13);color:var(--color-footer-muted);font-size:.88rem}.site-footer__bottom p{margin:0}@media(max-width:800px){.site-footer__inner{grid-template-columns:1fr 1fr}.site-footer__brand-section{grid-column:1 / -1}}@media(max-width:560px){.site-footer__inner{grid-template-columns:1fr;gap:2rem;width:min(100% - 1.5rem,1200px);padding:2.5rem 0}.site-footer__brand-section{grid-column:auto}.site-footer__bottom{flex-direction:column;align-items:flex-start;width:min(100% - 1.5rem,1200px)}.site-footer__button{width:100%}}.ui-state{display:flex;min-height:220px;width:100%;padding:2.5rem 1.5rem;flex-direction:column;align-items:center;justify-content:center;gap:1rem;border:1px solid var(--border-color, #d9d9df);border-radius:.75rem;background-color:var(--surface-color, #ffffff);text-align:center}.ui-state__icon{display:flex;width:3rem;height:3rem;align-items:center;justify-content:center;color:var(--muted-color, #6b7280)}.ui-state__icon svg{width:100%;height:100%}.ui-state__content{display:flex;max-width:32rem;flex-direction:column;align-items:center;gap:.5rem}.ui-state__title{margin:0;font-size:1.25rem;line-height:1.4}.ui-state__description{margin:0;color:var(--muted-color, #6b7280);line-height:1.6}.ui-state__action{margin-top:.25rem}.ui-state--loading{min-height:180px;border-color:transparent;background-color:transparent}.ui-state--loading .ui-state__icon{color:var(--primary-color, #6200ee)}.ui-state__spinner{animation:ui-state-spin .9s linear infinite}.ui-state--error{border-color:var(--error-border-color, #f1b5b5);background-color:var(--error-background-color, #fff8f8)}.ui-state--error .ui-state__icon{color:var(--error-color, #c62828)}.ui-state--empty,.ui-state--not-found{border-style:dashed}.button{display:inline-flex;min-height:2.5rem;padding:.625rem 1rem;align-items:center;justify-content:center;border:1px solid transparent;border-radius:.5rem;cursor:pointer;font:inherit;font-weight:600;text-decoration:none}.button--primary{background-color:var(--primary-color, #6200ee);color:#fff}.button--secondary{border-color:var(--border-color, #d9d9df);background-color:transparent;color:var(--text-color, #202124)}.button:hover{filter:brightness(.96)}.button:focus-visible{outline:3px solid color-mix(in srgb,var(--primary-color, #6200ee) 30%,transparent);outline-offset:2px}@keyframes ui-state-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ui-state__spinner{animation-duration:1.8s}}.collection-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:stretch;gap:1.25rem;margin-top:1.5rem}.card{--card-accent: var(--color-primary);--card-accent-hover: var(--color-primary-hover);--card-accent-soft: var(--color-primary-soft);--card-accent-text: var(--color-primary-text);--card-text: var(--color-text);--card-muted: var(--color-text-muted);position:relative;isolation:isolate;display:flex;width:100%;height:100%;min-width:0;min-height:340px;flex-direction:column;padding:1.35rem;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(145deg,var(--color-surface),var(--color-surface-warm));box-shadow:var(--shadow-sm);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.card:before{position:absolute;z-index:-1;top:-4rem;right:-4rem;width:10rem;height:10rem;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--color-primary) 12%,transparent),transparent 70%);pointer-events:none;content:""}.card:after{position:absolute;top:0;left:1.35rem;width:3.25rem;height:3px;border-radius:0 0 999px 999px;background:var(--card-accent);content:""}.card:hover{border-color:color-mix(in srgb,var(--card-accent) 38%,var(--color-border));box-shadow:var(--shadow-md);transform:translateY(-3px)}.card:focus-within{border-color:var(--card-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--card-accent) 14%,transparent),var(--shadow-md)}.card-header,.card-header-2{display:flex;min-height:2rem;align-items:flex-start;gap:.75rem;margin-bottom:.9rem}.card-header,.card-header-2{justify-content:space-between}.card-type{padding-top:.45rem;color:var(--card-accent);font-size:.72rem;font-weight:800;line-height:1;letter-spacing:.09em;text-transform:uppercase}.card-meta-badge{display:inline-flex;max-width:60%;min-height:1.8rem;align-items:center;padding:.3rem .65rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--card-accent) 22%,transparent);border-radius:999px;color:var(--card-accent-text);background:var(--card-accent-soft);font-size:.73rem;font-weight:750;line-height:1;text-overflow:ellipsis;white-space:nowrap}.card-orders{display:flex;gap:.45rem;flex-wrap:wrap}.card-order{display:inline-flex;min-height:1.8rem;align-items:center;padding:.3rem .6rem;border-radius:999px;color:var(--card-accent-text);background:var(--card-accent-soft);font-size:.72rem;font-weight:750;line-height:1;white-space:nowrap}.status{--status-background: var(--color-primary-soft);--status-border: color-mix(in srgb, var(--color-primary) 25%, transparent);--status-color: var(--color-primary-text);display:inline-flex;min-height:1.9rem;flex-shrink:0;align-items:center;justify-content:center;gap:.42rem;padding:.34rem .68rem;border:1px solid var(--status-border);border-radius:999px;color:var(--status-color);background:var(--status-background);font-size:.73rem;font-weight:750;line-height:1;letter-spacing:.025em;white-space:nowrap}.status:before{width:.42rem;height:.42rem;flex-shrink:0;border-radius:50%;background:currentColor;content:""}.status.status-planning{--status-background: var(--color-primary-soft);--status-border: color-mix(in srgb, var(--color-primary) 25%, transparent);--status-color: var(--color-primary-text)}.status.status-in-progress{--status-background: #eaf3fb;--status-border: #b8d4ec;--status-color: #245f91}.status.status-on-hold{--status-background: #fff6e5;--status-border: #ead3a3;--status-color: #8d5b14}.status.status-completed{--status-background: var(--color-success-soft);--status-border: color-mix(in srgb, var(--color-success) 28%, transparent);--status-color: var(--color-success)}.status.status-archived{--status-background: var(--color-surface-subtle);--status-border: var(--color-border-strong);--status-color: var(--color-text-muted)}.card-content{display:flex;min-width:0;flex:1;flex-direction:column}.card-title{margin:0;color:var(--card-text);font-size:clamp(1.18rem,2vw,1.38rem);font-weight:780;line-height:1.3;letter-spacing:-.015em;overflow-wrap:anywhere}.card-title a{color:inherit;text-decoration:none;transition:color .15s ease}.card-title a:hover{color:var(--card-accent)}.card-title a:focus-visible{border-radius:.3rem;outline:3px solid color-mix(in srgb,var(--card-accent) 28%,transparent);outline-offset:3px}.card-description{display:-webkit-box;min-height:4.55rem;margin:.7rem 0 0;overflow:hidden;color:var(--card-muted);font-size:.92rem;line-height:1.65;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}.card-details{min-height:4rem;margin-top:1rem;padding:.8rem;border:1px solid color-mix(in srgb,var(--color-border) 75%,transparent);border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.card-details__label{display:block;margin-bottom:.35rem;color:var(--color-text-soft);font-size:.7rem;font-weight:800;line-height:1;letter-spacing:.07em;text-transform:uppercase}.card-details__value{display:-webkit-box;margin:0;overflow:hidden;color:var(--color-text);font-size:.84rem;font-weight:650;line-height:1.45;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.card-genres,.card-badges{display:flex;min-height:2rem;gap:.42rem;margin-top:1rem;flex-wrap:wrap}.card-genre,.card-genre-2,.card-badge{display:inline-flex;min-height:1.8rem;max-width:100%;align-items:center;justify-content:center;padding:.32rem .62rem;overflow:hidden;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1;text-overflow:ellipsis;white-space:nowrap}.card-genre,.card-badge{border:1px solid color-mix(in srgb,var(--card-accent) 20%,transparent);color:var(--card-accent-text);background:var(--card-accent-soft)}.card-genre-2,.card-badge--location{border:1px solid color-mix(in srgb,var(--color-success) 25%,transparent);color:var(--color-success);background:var(--color-success-soft)}.card-genre-empty,.project-card-genre-empty,.card-badge--empty{border-style:dashed;border-color:var(--color-border-strong);color:var(--card-muted);background:transparent;font-weight:600}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--color-border)}.card-primary-actions{display:flex;min-width:0;align-items:center;gap:.6rem;flex-wrap:wrap}.card-actions .delete,.card-actions .delete--compact{flex-shrink:0;margin-left:auto}.card-link,.card-edit-link{display:inline-flex;min-height:2.5rem;align-items:center;justify-content:center;gap:.4rem;padding:.58rem .88rem;border-radius:.68rem;font-size:.83rem;font-weight:720;line-height:1;text-decoration:none;white-space:nowrap;transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.card-link svg,.card-edit-link svg{width:1rem;height:1rem;flex:0 0 1rem}.card-link{border:1px solid var(--card-accent);color:#fff;background:var(--card-accent);box-shadow:0 5px 14px color-mix(in srgb,var(--card-accent) 20%,transparent)}.card-link:hover{border-color:var(--card-accent-hover);background:var(--card-accent-hover);box-shadow:0 8px 18px color-mix(in srgb,var(--card-accent-hover) 25%,transparent);transform:translateY(-1px)}.card-edit-link{border:1px solid var(--color-border-strong);color:var(--color-text);background:var(--color-surface)}.card-edit-link:hover{border-color:var(--card-accent);color:var(--card-accent-text);background:var(--card-accent-soft);transform:translateY(-1px)}.card-link:active,.card-edit-link:active{transform:translateY(0)}.card-link:focus-visible,.card-edit-link:focus-visible{outline:3px solid color-mix(in srgb,var(--card-accent) 28%,transparent);outline-offset:3px}@media(max-width:760px){.collection-card-grid{grid-template-columns:1fr}}@media(max-width:600px){.card{min-height:auto;padding:1.2rem}.card:after{left:1.2rem}.card-header,.card-header-2{flex-direction:column}.card-meta-badge{max-width:100%}.card-description{min-height:auto}.card-actions{align-items:stretch;flex-direction:column}.card-primary-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.card-link,.card-edit-link{width:100%}.card-actions .delete,.card-actions .delete--compact{width:100%;margin-left:0}.card-actions .delete__button{width:100%}.card-actions .delete__error{max-width:none;text-align:left}}@media(max-width:380px){.card-primary-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.card,.card-title a,.card-link,.card-edit-link{transition:none}.card:hover,.card-link:hover,.card-edit-link:hover{transform:none}}.form{width:min(100%,760px);margin-inline:auto;padding:clamp(1.25rem,4vw,2.25rem);border:1px solid rgba(95,70,164,.16);border-radius:1.25rem;background:linear-gradient(145deg,#fffffffa,#f8f6fffa);box-shadow:0 20px 48px #2b234814,0 3px 10px #2b23480d}.form-fields{display:grid;gap:1.5rem;min-width:0;margin:0;padding:0;border:0}.form-field{display:grid;gap:.5rem}.form-field label,.genre-field legend{color:var(--heading-color, #29243b);font-size:.95rem;font-weight:700;line-height:1.4}.form-field label span{color:var(--error-color, #c0394b)}.form-field input,.form-field textarea,.form-field select{box-sizing:border-box;width:100%;min-height:2.9rem;padding:.8rem .95rem;border:1px solid var(--border-color, #cbc7d8);border-radius:.75rem;background-color:var(--input-background, #ffffff);color:var(--text-color, #302b40);font:inherit;line-height:1.5;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.form-field textarea{min-height:9rem;resize:vertical}.form-field select{cursor:pointer}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--muted-text-color, #817b91);opacity:1}.form-field input:hover,.form-field textarea:hover,.form-field select:hover{border-color:var(--primary-color, #7055b8)}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--primary-color, #7055b8);outline:none;box-shadow:0 0 0 3px #7055b829}.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true],.form-field select[aria-invalid=true]{border-color:var(--error-color, #c0394b);background-color:#fff8f8}.genre-field{display:grid;gap:.75rem;min-width:0;margin:0;padding:0;border:0}.genre-field legend{padding:0}.field-hint{margin:-.25rem 0 0;color:var(--muted-text-color, #716b80);font-size:.86rem;line-height:1.5}.genre-options{display:flex;flex-wrap:wrap;gap:.65rem}.genre-option{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}.genre-option input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%)}.genre-option-content{display:inline-flex;align-items:center;gap:.4rem;min-height:2.45rem;padding:.55rem .9rem;border:1px solid var(--border-color, #cbc7d8);border-radius:999px;background-color:#fff;color:var(--text-color, #40394f);font-size:.9rem;font-weight:650;line-height:1;transition:border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.genre-checkmark{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;font-size:.8rem;font-weight:800}.genre-option:hover .genre-option-content{border-color:var(--primary-color, #7055b8);background-color:#7055b80d;transform:translateY(-1px)}.genre-option-selected .genre-option-content{border-color:var(--primary-color, #7055b8);background-color:var(--primary-color, #7055b8);color:#fff;box-shadow:0 5px 14px #7055b83d}.genre-option-selected:hover .genre-option-content{background-color:var(--primary-hover-color, #5f46a4);color:#fff}.genre-option input:focus-visible+.genre-option-content{outline:3px solid rgba(112,85,184,.3);outline-offset:3px}.selected-genres{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.55rem;min-height:2.7rem;padding:.75rem .85rem;border:1px dashed rgba(112,85,184,.32);border-radius:.75rem;background-color:#7055b80b}.selected-genres-label{padding-top:.23rem;color:var(--heading-color, #29243b);font-size:.85rem;font-weight:700}.selected-genre-list{display:flex;flex-wrap:wrap;gap:.4rem}.selected-genre{padding:.28rem .6rem;border-radius:999px;background-color:#7055b824;color:var(--primary-hover-color, #5f46a4);font-size:.8rem;font-weight:700}.selected-genres-empty{padding-top:.23rem;color:var(--muted-text-color, #817b91);font-size:.85rem;font-style:italic}.field-error{color:var(--error-color, #b52f43);font-size:.85rem;font-weight:600;line-height:1.4}.form-api-error{margin-bottom:1.4rem;padding:.9rem 1rem;border:1px solid rgba(192,57,75,.4);border-left:4px solid var(--error-color, #c0394b);border-radius:.75rem;background-color:#fff4f5;color:#9d2639;font-size:.92rem;font-weight:600;line-height:1.5}.form-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:.75rem;padding-top:.5rem}.form-actions button{min-height:2.75rem;padding:.7rem 1.2rem;border-radius:.75rem;font:inherit;font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease}.form-actions button:hover:not(:disabled){transform:translateY(-1px)}.form-actions button:active:not(:disabled){transform:translateY(0)}.primary-button{border:1px solid var(--primary-color, #7055b8);background-color:var(--primary-color, #7055b8);color:#fff;box-shadow:0 6px 16px #7055b838}.primary-button:hover:not(:disabled){border-color:var(--primary-hover-color, #5f46a4);background-color:var(--primary-hover-color, #5f46a4)}.secondary-button{border:1px solid var(--border-color, #cbc7d8);background-color:transparent;color:var(--text-color, #40394f)}.secondary-button:hover:not(:disabled){border-color:var(--primary-color, #7055b8);background-color:#7055b812;color:var(--primary-hover-color, #5f46a4)}.form-actions button:focus-visible{outline:3px solid rgba(112,85,184,.3);outline-offset:2px}.form-fields:disabled{opacity:.72}.form button:disabled,.form input:disabled,.form textarea:disabled,.form select:disabled{cursor:not-allowed}.form button:disabled{box-shadow:none;transform:none}@media(max-width:600px){.form{border-radius:1rem}.genre-option,.genre-option-content{flex-grow:1}.genre-option-content{justify-content:center}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions button{width:100%}}@media(prefers-reduced-motion:reduce){.form-field input,.form-field textarea,.form-field select,.genre-option-content,.form-actions button{transition:none}}.form-header{position:relative;width:min(100%,760px);margin:0 auto 1.5rem;padding:clamp(1.4rem,4vw,2rem);overflow:hidden;border:1px solid rgba(112,85,184,.15);border-radius:1.2rem;background:radial-gradient(circle at top right,rgba(112,85,184,.16),transparent 42%),linear-gradient(145deg,#fffffffa,#f8f6fffa);box-shadow:0 16px 38px #2b234812,0 3px 9px #2b23480a}.form-header:before{position:absolute;top:0;left:clamp(1.4rem,4vw,2rem);width:3.5rem;height:3px;border-radius:0 0 999px 999px;background-color:var(--primary-color, #7055b8);content:""}.form-header:after{position:absolute;right:-3.5rem;bottom:-4.5rem;width:10rem;height:10rem;border:1px solid rgba(112,85,184,.1);border-radius:50%;pointer-events:none;content:""}.form-header__content{position:relative;z-index:1;max-width:620px}.form-header__eyebrow{margin:0;color:var(--primary-color, #7055b8);font-size:.75rem;font-weight:800;line-height:1.2;letter-spacing:.11em;text-transform:uppercase}.form-header__title{margin:.45rem 0 0;color:var(--heading-color, #29243b);font-size:clamp(1.8rem,5vw,2.65rem);font-weight:800;line-height:1.12;letter-spacing:-.035em;overflow-wrap:anywhere}.form-header__description{max-width:580px;margin:.75rem 0 0;color:var(--muted-text-color, #716b80);font-size:clamp(.92rem,2vw,1rem);line-height:1.65}@media(max-width:600px){.form-header{margin-bottom:1rem;padding:1.25rem;border-radius:1rem}.form-header:before{left:1.25rem}.form-header__title{font-size:1.8rem}}.detail__location-grid--compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.detail__location-card--compact{min-height:auto;padding:1rem}.detail__location-card--compact h3{margin:0 0 .5rem;font-size:1rem}.detail__location-description{display:-webkit-box;margin:0 0 .75rem;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.detail__location-card--compact .detail__location-atmosphere{margin:0 0 .75rem;font-size:.875rem}.detail__location-card--compact .detail__location-link{margin-top:auto}.detail__view-all-link{transition:color .2s ease}.detail__view-all-link:hover{color:#7c3aed}.detail__view-all-link:active{color:#6d28d9}.detail__view-all-link:focus-visible{color:#7c3aed}.detail__location-link{transition:color .2s ease}.detail__location-link:hover{color:#7c3aed}.detail__location-link:active{color:#6d28d9}.detail__location-link:focus-visible{color:#7c3aed}.detail-panel+.page-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.button--secondary{transition:color .2s ease}.button--secondary:active,.button--secondary:focus-visible{color:#7c3aed}@media(max-width:640px){.detail__location-grid--compact{grid-template-columns:1fr}}.character-card__role{margin:0 0 .6rem;color:var(--primary-hover-color, #5f46a4);font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.character-section+.character-section{margin-top:1.25rem}.character-section h2{margin:0 0 .4rem;font-size:1rem}.character-section p{margin:0;white-space:pre-line}.character-actions{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1rem}.overview-section{margin-top:1.25rem;padding:clamp(1.35rem,4vw,2.25rem);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.overview-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.overview-section__heading{min-width:0;max-width:680px}.overview-section__label-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.overview-section__count{display:inline-flex;min-width:1.75rem;min-height:1.75rem;align-items:center;justify-content:center;padding:.2rem .55rem;border-radius:999px;color:var(--color-primary-text);background:var(--color-primary-soft);font-size:.8rem;font-weight:800}.overview-section__heading h2{margin:.55rem 0 0;color:var(--color-text);font-size:clamp(1.4rem,3vw,1.9rem)}.overview-section__description{max-width:60ch;margin:.65rem 0 0;color:var(--color-text-muted);line-height:1.65}.overview-section__add-link{display:inline-flex;min-height:2.65rem;flex-shrink:0;align-items:center;justify-content:center;gap:.45rem;padding:.65rem 1rem;border-radius:var(--radius-sm);color:#fff;background:var(--color-primary);font-weight:750;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}.overview-section__add-link svg{width:1.1rem;height:1.1rem}.overview-section__add-link:hover{background:var(--color-primary-hover);box-shadow:0 8px 18px #c7661b33;transform:translateY(-1px)}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.overview-card{min-width:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(145deg,var(--color-surface),var(--color-surface-warm));transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.overview-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.overview-card__link{display:flex;min-height:230px;height:100%;flex-direction:column;padding:1.25rem;color:inherit}.overview-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.overview-card__header h3{min-width:0;margin:0;color:var(--color-text);font-size:1.1rem;line-height:1.35;overflow-wrap:anywhere}.overview-card__meta{display:inline-flex;max-width:50%;flex-shrink:0;padding:.3rem .55rem;overflow:hidden;border-radius:999px;color:var(--color-primary-text);background:var(--color-primary-soft);font-size:.72rem;font-weight:750;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.overview-card__subheading{margin:.6rem 0 0;color:var(--color-primary-text);font-size:.8rem;font-weight:700}.overview-card__description{display:-webkit-box;margin:.75rem 0 0;overflow:hidden;color:var(--color-text-muted);line-height:1.6;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}.overview-card__badges{display:flex;gap:.45rem;margin-top:1rem;flex-wrap:wrap}.overview-card__badge{display:inline-flex;max-width:100%;padding:.3rem .6rem;overflow:hidden;border-radius:999px;color:var(--color-text-muted);background:var(--color-surface-subtle);font-size:.76rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.overview-card__supporting-text{display:-webkit-box;margin:.85rem 0 0;overflow:hidden;color:var(--color-text);font-size:.85rem;font-weight:650;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.overview-card__details{display:inline-flex;width:fit-content;align-items:center;gap:.35rem;margin-top:auto;padding-top:1.1rem;color:var(--color-primary-text);font-size:.85rem;font-weight:750}.overview-card__details svg{width:1rem;height:1rem;transition:transform .16s ease}.overview-card:hover .overview-card__details svg{transform:translate(2px,-2px)}.overview-section__footer{display:flex;justify-content:flex-end;margin-top:1.5rem;padding-top:1.1rem;border-top:1px solid var(--color-border)}.overview-section__view-all-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-primary-text);font-weight:750}.overview-section__view-all-link:hover{color:var(--color-primary-hover)}.overview-section__view-all-link svg{width:1rem;height:1rem;transition:transform .16s ease}.overview-section__view-all-link:hover svg{transform:translate(3px)}.overview-section__empty{padding:1.5rem;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);background:var(--color-surface-subtle);text-align:center}.overview-section__empty p{margin:0;line-height:1.6}.overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0}.overview-stat{min-width:0;padding:1.1rem;border-radius:var(--radius-md);background:var(--color-surface-subtle)}.overview-stat dt{color:var(--color-text-muted);font-size:.76rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.overview-stat dd{margin:.4rem 0 0;color:var(--color-text);font-size:clamp(1.4rem,3vw,2rem);font-weight:800}.overview-progress{margin-top:1.25rem}.overview-progress__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.55rem;color:var(--color-text-muted);font-size:.85rem}.overview-progress__heading strong{color:var(--color-text)}.overview-progress__track{height:.65rem;overflow:hidden;border-radius:999px;background:var(--color-surface-subtle)}.overview-progress__fill{display:block;height:100%;border-radius:inherit;background:var(--color-primary);transition:width .2s ease}@media(max-width:760px){.overview-section__header{flex-direction:column}.overview-grid{grid-template-columns:1fr}.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.overview-section{padding:1.2rem}.overview-section__add-link{width:100%}.overview-stats{grid-template-columns:1fr}.overview-card__header{flex-direction:column}.overview-card__meta{max-width:100%}.overview-section__footer{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){.overview-card,.overview-card__details svg,.overview-section__add-link,.overview-section__view-all-link svg,.overview-progress__fill{transition:none}.overview-card:hover,.overview-section__add-link:hover{transform:none}}.notification{--notification-accent: var(--color-primary);--notification-background: var(--color-primary-soft);--notification-border: var(--color-primary);position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:.85rem;width:100%;margin:0 0 1.25rem;padding:1rem;overflow:hidden;border:1px solid var(--notification-border);border-left-width:4px;border-radius:var(--radius-md);color:var(--color-text);background:var(--notification-background);box-shadow:var(--shadow-sm);animation:notification-enter .18s ease-out}.notification--success{--notification-accent: var(--color-success);--notification-background: var(--color-success-soft);--notification-border: var(--color-success)}.notification--error{--notification-accent: var(--color-danger);--notification-background: var(--color-danger-soft);--notification-border: var(--color-danger)}.notification--info{--notification-accent: var(--color-primary);--notification-background: var(--color-primary-soft);--notification-border: var(--color-primary)}.notification__icon{display:grid;width:2rem;height:2rem;flex-shrink:0;place-items:center;border-radius:50%;color:var(--notification-accent);background:var(--color-surface)}.notification__icon svg{width:1.25rem;height:1.25rem}.notification__content{min-width:0;padding-top:.05rem}.notification__title{margin:0;color:var(--color-text);font-size:.92rem;font-weight:800;line-height:1.35}.notification__message{margin:.2rem 0 0;color:var(--color-text-muted);font-size:.9rem;line-height:1.55;overflow-wrap:anywhere}.notification__dismiss{display:grid;width:2rem;height:2rem;flex-shrink:0;place-items:center;padding:0;border:0;border-radius:50%;color:var(--notification-accent);background:transparent;cursor:pointer;transition:color .15s ease,background-color .15s ease,transform .15s ease}.notification__dismiss:hover{color:var(--color-text);background:#17243b14}.notification__dismiss:active{transform:scale(.94)}.notification__dismiss:focus-visible{outline:3px solid color-mix(in srgb,var(--notification-accent) 28%,transparent);outline-offset:2px}.notification__dismiss svg{width:1.2rem;height:1.2rem}@keyframes notification-enter{0%{opacity:0;transform:translateY(-.4rem)}to{opacity:1;transform:translateY(0)}}@media(max-width:520px){.notification{grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;padding:.9rem;border-radius:var(--radius-sm)}.notification__icon,.notification__dismiss{width:1.8rem;height:1.8rem}}@media(prefers-reduced-motion:reduce){.notification{animation:none}.notification__dismiss{transition:none}}.dashboard{width:min(1180px,calc(100% - 2rem));min-height:calc(100vh - 5rem);margin-inline:auto;padding-block:clamp(2rem,5vw,4rem)}.dashboard__header{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:clamp(1.75rem,4vw,2.75rem);padding:clamp(1.5rem,4vw,2.25rem);overflow:hidden;border:1px solid rgba(112,85,184,.14);border-radius:1.35rem;background:radial-gradient(circle at top right,rgba(112,85,184,.14),transparent 38%),linear-gradient(145deg,#fffffffa,#f8f6fffa);box-shadow:0 18px 42px #2b234812,0 3px 10px #2b23480a}.dashboard__header:after{position:absolute;right:-2.5rem;bottom:-3rem;width:9rem;height:9rem;border:1px solid rgba(112,85,184,.11);border-radius:50%;pointer-events:none;content:""}.dashboard__header-content{position:relative;z-index:1;min-width:0}.dashboard__header h1{margin:.25rem 0 0;color:var(--heading-color, #29243b);font-size:clamp(2rem,5vw,3.25rem);font-weight:800;line-height:1.1;letter-spacing:-.035em}.dashboard__header-description{max-width:640px;margin:.8rem 0 0;color:var(--muted-text-color, #716b80);font-size:clamp(.95rem,2vw,1.05rem);line-height:1.65}.dashboard__eyebrow{margin:0;color:var(--primary-color, #7055b8);font-size:.76rem;font-weight:800;line-height:1.2;letter-spacing:.11em;text-transform:uppercase}.dashboard__actions{position:relative;z-index:1;display:flex;flex-shrink:0;align-items:center;gap:.75rem}.dashboard__create-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.85rem;padding:.75rem 1.1rem;border:1px solid var(--primary-color, #7055b8);border-radius:.75rem;background-color:var(--primary-color, #7055b8);color:#fff;font-size:.9rem;font-weight:750;line-height:1;text-decoration:none;white-space:nowrap;box-shadow:0 7px 18px #7055b83b;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.dashboard__create-link:hover{border-color:var(--primary-hover-color, #5f46a4);background-color:var(--primary-hover-color, #5f46a4);box-shadow:0 10px 23px #7055b84a;transform:translateY(-2px)}.dashboard__create-link:active{transform:translateY(0)}.dashboard__create-link:focus-visible{outline:3px solid rgba(112,85,184,.3);outline-offset:3px}.dashboard__projects{display:grid;gap:1.25rem}.dashboard__projects-header{display:flex;align-items:end;justify-content:space-between;gap:1rem}.dashboard__projects-title{margin:0;color:var(--heading-color, #29243b);font-size:clamp(1.25rem,3vw,1.55rem);font-weight:750;line-height:1.3}.dashboard__project-count{margin:0;color:var(--muted-text-color, #716b80);font-size:.86rem;font-weight:650}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));align-items:stretch;gap:clamp(1rem,2.5vw,1.4rem)}.dashboard-state{display:grid;place-items:center;min-height:300px;padding:clamp(2rem,6vw,4rem) 1.5rem;border:1px dashed rgba(112,85,184,.35);border-radius:1.25rem;background:linear-gradient(145deg,#fffffff0,#f8f6fff0);text-align:center}.dashboard-state__content{display:grid;justify-items:center;max-width:520px}.dashboard-state__icon{display:grid;place-items:center;width:3.75rem;height:3.75rem;margin-bottom:1rem;border-radius:1rem;background-color:#7055b81c;color:var(--primary-color, #7055b8);font-size:1.5rem}.dashboard-state h2{margin:0;color:var(--heading-color, #29243b);font-size:clamp(1.25rem,3vw,1.55rem);line-height:1.3}.dashboard-state p{max-width:460px;margin:.7rem 0 0;color:var(--muted-text-color, #716b80);font-size:.95rem;line-height:1.65}.dashboard-state button,.dashboard-state a{display:inline-flex;align-items:center;justify-content:center;min-height:2.7rem;margin-top:1.25rem;padding:.7rem 1rem;border:1px solid var(--primary-color, #7055b8);border-radius:.7rem;background-color:var(--primary-color, #7055b8);color:#fff;font:inherit;font-size:.88rem;font-weight:700;text-decoration:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.dashboard-state button:hover,.dashboard-state a:hover{border-color:var(--primary-hover-color, #5f46a4);background-color:var(--primary-hover-color, #5f46a4);box-shadow:0 7px 17px #7055b83b;transform:translateY(-1px)}.dashboard-state button:focus-visible,.dashboard-state a:focus-visible{outline:3px solid rgba(112,85,184,.3);outline-offset:3px}.dashboard-state--error{border-color:#c0394b4d;background:linear-gradient(145deg,#fffffff5,#fff6f7f5)}.dashboard-state--error .dashboard-state__icon{background-color:#c0394b1a;color:var(--error-color, #b52f43)}@media(max-width:760px){.dashboard{width:min(100% - 1.25rem,1180px);padding-block:1.5rem 2.5rem}.dashboard__header{align-items:stretch;flex-direction:column}.dashboard__actions,.dashboard__create-link{width:100%}.dashboard__projects-header{align-items:flex-start;flex-direction:column;gap:.35rem}}@media(max-width:420px){.dashboard{width:min(100% - 1rem,1180px)}.dashboard__header{padding:1.25rem;border-radius:1rem}.project-grid{grid-template-columns:1fr}.dashboard-state{min-height:260px;border-radius:1rem}}@media(prefers-reduced-motion:reduce){.dashboard__create-link,.dashboard-state button,.dashboard-state a{transition:none}.dashboard__create-link:hover,.dashboard-state button:hover,.dashboard-state a:hover{transform:none}}.landing-page{flex:1;overflow:hidden;background:radial-gradient(circle at 82% 10%,rgba(230,106,22,.13),transparent 26%),radial-gradient(circle at 10% 38%,rgba(23,36,59,.06),transparent 23%),var(--color-background)}.landing-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:clamp(3rem,7vw,5.5rem);width:min(var(--content-width),calc(100% - 40px));min-height:660px;margin:0 auto;padding:clamp(4.5rem,9vw,7rem) 0}.landing-hero__content{min-width:0}.landing-hero__eyebrow,.landing-section__eyebrow,.landing-capstone__eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 18px;color:var(--color-primary);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.landing-hero__eyebrow{padding:.55rem .75rem;border:1px solid rgba(230,106,22,.2);border-radius:999px;background:#fff1e6c7}.landing-hero__eyebrow svg{width:17px;height:17px}.landing-hero h1{max-width:720px;margin:0;color:var(--color-text);font-size:clamp(3rem,6vw,5.2rem);line-height:1.01;letter-spacing:-.06em}.landing-hero h1 span{color:var(--color-primary)}.landing-hero__description{max-width:650px;margin:26px 0 32px;color:var(--color-text-muted);font-size:1.15rem;line-height:1.75}.landing-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.landing-hero__actions svg,.landing-cta .primary-button svg,.landing-capstone__link svg{width:18px;height:18px}.landing-hero__highlights{display:grid;gap:10px;margin:28px 0 0;padding:0;color:var(--color-text-muted);list-style:none}.landing-hero__highlights li{display:flex;align-items:center;gap:10px;line-height:1.5}.landing-hero__highlights svg{flex:0 0 auto;width:20px;height:20px;color:var(--color-success)}.story-preview{position:relative;min-width:0;padding:clamp(1.25rem,3vw,1.75rem);border:1px solid rgba(201,210,220,.9);border-radius:var(--radius-xl);background:#ffffffeb;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.story-preview:before{position:absolute;z-index:-1;right:-28px;bottom:-30px;width:150px;height:150px;border-radius:38px;background:var(--color-primary-soft);content:"";transform:rotate(12deg)}.story-preview__window-bar{display:flex;align-items:center;gap:12px;margin:-2px 0 22px;padding-bottom:16px;border-bottom:1px solid var(--color-border);color:var(--color-text-soft);font-size:.78rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.story-preview__window-dots{display:flex;gap:6px}.story-preview__window-dots span{width:8px;height:8px;border-radius:50%;background:var(--color-border-strong)}.story-preview__window-dots span:first-child{background:var(--color-primary)}.story-preview__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:22px}.story-preview__header p{margin:0;color:var(--color-text);font-size:1.25rem;font-weight:850;letter-spacing:-.025em}.story-preview__header div>span{display:block;margin-top:5px;color:var(--color-text-muted);font-size:.86rem}.story-preview__status{flex:0 0 auto;padding:7px 10px;border-radius:999px;color:var(--color-primary-text);background:var(--color-primary-soft);font-size:.75rem;font-weight:750}.story-preview__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.story-preview__card{min-width:0;padding:18px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--color-surface-subtle);transition:border-color .16s ease,transform .16s ease,background-color .16s ease}.story-preview__card:hover{border-color:var(--color-border-strong);background:var(--color-surface);transform:translateY(-2px)}.story-preview__icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;margin-bottom:18px;border-radius:11px;color:var(--color-primary-text);background:var(--color-primary-soft)}.story-preview__icon svg{width:21px;height:21px}.story-preview__card strong{display:block;color:var(--color-text)}.story-preview__card p{margin:5px 0 0;overflow:hidden;color:var(--color-text-muted);font-size:.87rem;text-overflow:ellipsis;white-space:nowrap}.story-preview__progress{margin-top:18px;padding:16px 18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.story-preview__progress-label{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:10px;color:var(--color-text-muted);font-size:.84rem}.story-preview__progress-label strong{color:var(--color-primary-text)}.story-preview__progress-track{height:8px;overflow:hidden;border-radius:999px;background:var(--color-surface-subtle)}.story-preview__progress-track span{display:block;width:68%;height:100%;border-radius:inherit;background:var(--color-primary)}.landing-section{width:min(var(--content-width),calc(100% - 40px));margin:0 auto;padding:clamp(4.5rem,9vw,7rem) 0}.landing-features-section{scroll-margin-top:86px}.landing-section__header{max-width:760px;margin:0 auto clamp(2rem,5vw,3.5rem);text-align:center}.landing-section__header--left{margin:0;text-align:left}.landing-section__header h2,.landing-capstone h2,.landing-cta h2{margin:0;color:var(--color-text);font-size:clamp(2.15rem,4.5vw,3.65rem);line-height:1.08;letter-spacing:-.05em}.landing-section__header>p:last-child,.landing-capstone>div>p:last-child,.landing-cta>div>p:last-child{margin:18px 0 0;color:var(--color-text-muted);font-size:1.05rem;line-height:1.75}.landing-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.landing-feature{position:relative;min-width:0;padding:28px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#ffffffe6;box-shadow:var(--shadow-sm);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.landing-feature:hover{border-color:#e66a1659;box-shadow:var(--shadow-md);transform:translateY(-4px)}.landing-feature__icon{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:14px;color:var(--color-primary-text);background:var(--color-primary-soft)}.landing-feature__icon svg{width:25px;height:25px}.landing-feature h3{margin:22px 0 11px;color:var(--color-text);font-size:1.25rem;letter-spacing:-.025em}.landing-feature p{margin:0;color:var(--color-text-muted);line-height:1.7}.landing-workflow{background:var(--color-surface-warm);border-block:1px solid rgba(230,106,22,.12)}.landing-workflow__inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(3rem,7vw,6rem);width:min(var(--content-width),calc(100% - 40px));margin:0 auto;padding:clamp(4.5rem,9vw,7rem) 0}.landing-workflow__steps{display:grid;gap:16px}.landing-workflow__step{position:relative;padding:24px 24px 24px 76px;border:1px solid rgba(230,106,22,.18);border-radius:var(--radius-md);background:#fffc}.landing-workflow__step>span{position:absolute;top:24px;left:24px;color:var(--color-primary);font-size:.82rem;font-weight:850;letter-spacing:.08em}.landing-workflow__step h3{margin:0 0 8px;color:var(--color-text);font-size:1.16rem}.landing-workflow__step p{margin:0;color:var(--color-text-muted);line-height:1.65}.landing-capstone,.landing-cta{display:flex;align-items:center;justify-content:space-between;gap:clamp(2rem,6vw,5rem);width:min(var(--content-width),calc(100% - 40px));margin:clamp(4.5rem,9vw,7rem) auto 0;padding:clamp(2rem,5vw,3.5rem);border-radius:var(--radius-xl)}.landing-capstone{color:#fff;background:radial-gradient(circle at top right,rgba(230,106,22,.3),transparent 35%),var(--color-footer);box-shadow:var(--shadow-lg)}.landing-capstone>div,.landing-cta>div{max-width:720px}.landing-capstone h2{color:#fff;font-size:clamp(2rem,4vw,3.2rem)}.landing-capstone>div>p:last-child{color:var(--color-footer-muted)}.landing-capstone__eyebrow{color:#ffb985}.landing-capstone__link{display:inline-flex;flex:0 0 auto;min-height:46px;align-items:center;justify-content:center;gap:.55rem;padding:.75rem 1rem;border-radius:var(--radius-sm);color:var(--color-text);background:#fff;font-weight:800;transition:color .16s ease,transform .16s ease}.landing-capstone__link:hover{color:var(--color-primary-text);transform:translateY(-2px)}.landing-cta{margin-bottom:clamp(4.5rem,9vw,7rem);border:1px solid var(--color-border);background:#ffffffe6;box-shadow:var(--shadow-md)}.landing-cta .primary-button{flex:0 0 auto}@media(max-width:920px){.landing-hero{grid-template-columns:1fr;min-height:auto}.landing-hero__content{max-width:760px}.story-preview{width:min(100%,680px)}.landing-features{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-workflow__inner{grid-template-columns:1fr}}@media(max-width:700px){.landing-capstone,.landing-cta{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.landing-hero,.landing-section,.landing-workflow__inner,.landing-capstone,.landing-cta{width:min(100% - 28px,var(--content-width))}.landing-hero{gap:42px;padding-top:48px}.landing-hero h1{font-size:clamp(2.65rem,14vw,3.7rem)}.landing-hero__actions{align-items:stretch;flex-direction:column}.landing-hero__actions a,.landing-cta .primary-button,.landing-capstone__link{width:100%}.story-preview:before{display:none}.story-preview__header{align-items:flex-start;flex-direction:column}.story-preview__grid,.landing-features{grid-template-columns:1fr}.landing-feature,.landing-capstone,.landing-cta{padding:24px}.landing-workflow__step{padding:64px 22px 22px}.landing-workflow__step>span{top:22px;left:22px}}.about-page{flex:1;overflow:hidden;background:radial-gradient(circle at 88% 4%,rgba(230,106,22,.13),transparent 24%),radial-gradient(circle at 5% 40%,rgba(23,36,59,.06),transparent 22%),var(--color-background)}.about-hero{display:flex;max-width:900px;align-items:center;flex-direction:column;margin:0 auto;padding:clamp(4.5rem,10vw,8rem) 20px clamp(4rem,8vw,6rem);text-align:center}.about-hero__icon{display:inline-flex;width:64px;height:64px;align-items:center;justify-content:center;margin-bottom:22px;border:1px solid rgba(230,106,22,.2);border-radius:20px;color:var(--color-primary-text);background:var(--color-primary-soft);box-shadow:var(--shadow-sm)}.about-hero__icon svg{width:32px;height:32px}.about-eyebrow{margin:0 0 14px;color:var(--color-primary);font-size:.8rem;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.about-hero h1,.about-story h2,.about-section__header h2,.about-closing h2{margin:0;color:var(--color-text);font-size:clamp(2.25rem,5vw,4.5rem);line-height:1.04;letter-spacing:-.055em}.about-hero__description{max-width:760px;margin:24px 0 0;color:var(--color-text-muted);font-size:1.12rem;line-height:1.8}.about-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:30px}.about-hero__actions svg,.about-closing .primary-button svg{width:18px;height:18px}.about-story,.about-section,.about-closing{width:min(var(--content-width),calc(100% - 40px));margin:0 auto}.about-story{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:stretch;gap:28px;padding-bottom:clamp(4.5rem,9vw,7rem)}.about-story__content{padding:clamp(2rem,5vw,3.5rem);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:#ffffffe6;box-shadow:var(--shadow-md)}.about-story h2,.about-section__header h2,.about-closing h2{font-size:clamp(2rem,4vw,3.35rem);line-height:1.09}.about-story__content>p:not(.about-eyebrow){margin:18px 0 0;color:var(--color-text-muted);line-height:1.8}.about-course-card{display:flex;min-height:100%;flex-direction:column;justify-content:flex-end;padding:clamp(2rem,5vw,3rem);border-radius:var(--radius-xl);color:#fff;background:radial-gradient(circle at top right,rgba(230,106,22,.35),transparent 38%),var(--color-footer);box-shadow:var(--shadow-lg)}.about-course-card>svg{width:48px;height:48px;margin-bottom:auto;color:#ffb985}.about-course-card>p{margin:32px 0 8px;color:#ffb985;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.about-course-card h3{margin:0;font-size:1.55rem;line-height:1.25}.about-course-card span{margin-top:12px;color:var(--color-footer-muted);line-height:1.5}.about-section{padding:clamp(4.5rem,9vw,7rem) 0}.about-section__header{max-width:780px;margin-bottom:clamp(2rem,5vw,3.5rem)}.about-section__header>p:last-child{margin:18px 0 0;color:var(--color-text-muted);font-size:1.04rem;line-height:1.75}.about-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.about-team-card{display:flex;min-width:0;flex-direction:column;padding:26px;border:1px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:#ffffffeb;box-shadow:var(--shadow-sm);transition:box-shadow .18s ease,transform .18s ease}.about-team-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.about-team-card__header{display:flex;align-items:center;gap:14px}.about-team-card__avatar{display:inline-flex;width:50px;height:50px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:15px;color:var(--color-primary-text);background:var(--color-primary-soft);font-weight:850}.about-team-card h3{margin:0;color:var(--color-text);font-size:1.15rem;letter-spacing:-.02em}.about-team-card__header p{margin:4px 0 0;color:var(--color-text-soft);font-size:.82rem;line-height:1.4}.about-team-card__contribution{margin:22px 0;color:var(--color-text-muted);line-height:1.7}.about-team-card>a{display:inline-flex;width:fit-content;align-items:center;gap:6px;margin-top:auto;color:var(--color-primary-text);font-size:.88rem;font-weight:750}.about-team-card>a:hover{color:var(--color-primary)}.about-team-card>a svg{width:16px;height:16px}.about-stack-section{width:100%;max-width:none;padding-inline:max(20px,calc((100% - var(--content-width)) / 2));background:var(--color-surface-warm);border-block:1px solid rgba(230,106,22,.12)}.about-stack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.about-stack-card{min-width:0;padding:24px;border:1px solid rgba(230,106,22,.16);border-radius:var(--radius-md);background:#ffffffdb}.about-stack-card>span{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:13px;color:var(--color-primary-text);background:var(--color-primary-soft)}.about-stack-card svg{width:23px;height:23px}.about-stack-card h3{margin:20px 0 8px;color:var(--color-text);font-size:1.12rem}.about-stack-card p{margin:0;color:var(--color-text-muted);line-height:1.65}.about-closing{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;margin-block:clamp(4.5rem,9vw,7rem);padding:clamp(2rem,5vw,3rem);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:#ffffffeb;box-shadow:var(--shadow-md)}.about-closing>svg{width:54px;height:54px;padding:12px;border-radius:16px;color:var(--color-primary-text);background:var(--color-primary-soft)}.about-closing h2{font-size:clamp(1.8rem,3.5vw,2.7rem)}.about-closing div>p:last-child{margin:10px 0 0;color:var(--color-text-muted);line-height:1.65}.about-closing .primary-button{flex:0 0 auto}@media(max-width:940px){.about-team-grid,.about-stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.about-story{grid-template-columns:1fr}.about-course-card{min-height:320px}.about-closing{grid-template-columns:auto minmax(0,1fr)}.about-closing .primary-button{grid-column:1 / -1;width:100%}}@media(max-width:580px){.about-story,.about-section,.about-closing{width:min(100% - 28px,var(--content-width))}.about-hero__actions{width:100%;align-items:stretch;flex-direction:column}.about-hero__actions a{width:100%}.about-team-grid,.about-stack-grid{grid-template-columns:1fr}.about-story__content,.about-course-card,.about-team-card,.about-closing{padding:24px}.about-closing{grid-template-columns:1fr}.about-closing>svg{width:50px;height:50px}}.not-found-page{display:grid;min-height:calc(100vh - 4rem);padding:2rem;place-items:center}.not-found-page__content{width:min(100%,42rem);text-align:center}.not-found-page__code{margin:0 0 -1.75rem;color:var(--primary-color, #6200ee);font-size:clamp(5rem,18vw,10rem);font-weight:800;line-height:1;opacity:.12;-webkit-user-select:none;user-select:none}.not-found-page .ui-state{position:relative;min-height:280px}.not-found-page__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}@media(max-width:480px){.not-found-page{padding:1rem}.not-found-page__actions{flex-direction:column;width:100%}.not-found-page__actions .button{width:100%}}.detail-page{min-height:100%;padding:clamp(1.25rem,4vw,3rem)}.detail{width:min(1120px,100%);margin:0 auto}.detail__back-link{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:1.25rem;color:var(--color-text-muted);font-weight:700;text-decoration:none;transition:color .16s ease,transform .16s ease}.detail__back-link svg{width:1.1rem;height:1.1rem}.detail__back-link:hover{color:var(--color-primary);transform:translate(-2px)}.detail__back-link:focus-visible{border-radius:.25rem;outline:3px solid color-mix(in srgb,var(--color-primary) 30%,transparent);outline-offset:4px}.detail__hero{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding:clamp(1.5rem,4vw,2.75rem);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-primary-soft),var(--color-surface) 68%);box-shadow:var(--shadow-md)}.detail__hero-content{min-width:0;max-width:720px}.detail__heading-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.detail__eyebrow{margin:0;color:var(--color-primary);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.detail__status{display:inline-flex;align-items:center;min-height:1.75rem;padding:.25rem .65rem;border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);border-radius:999px;background:color-mix(in srgb,var(--color-primary) 9%,white);color:var(--color-primary);font-size:.8rem;font-weight:700}.detail__hero h1{margin:0;color:var(--color-text);font-size:clamp(2rem,5vw,3.5rem);line-height:1.05;overflow-wrap:anywhere}.detail__description{max-width:65ch;margin:1rem 0 0;color:var(--color-text-muted);font-size:clamp(1rem,2vw,1.1rem);line-height:1.7;overflow-wrap:anywhere}.detail__actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:.75rem;flex-shrink:0;flex-wrap:wrap}.detail__edit-link{display:inline-flex;min-height:2.5rem;align-items:center;justify-content:center;gap:.45rem;padding:.55rem .9rem;border:1px solid var(--color-primary);border-radius:.5rem;color:#fff;background:var(--color-primary);font-weight:700;text-decoration:none;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.detail__edit-link svg{width:1.1rem;height:1.1rem}.detail__edit-link:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover);box-shadow:0 7px 16px color-mix(in srgb,var(--color-primary) 22%,transparent);transform:translateY(-1px)}.detail__edit-link:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 30%,transparent);outline-offset:3px}.detail__metadata{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.detail__metadata-card{display:flex;min-width:0;align-items:flex-start;gap:.8rem;padding:1.15rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.detail__metadata-card:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border));box-shadow:var(--shadow-md);transform:translateY(-2px)}.detail__metadata-icon{display:grid;width:2.5rem;height:2.5rem;flex-shrink:0;place-items:center;border-radius:var(--radius-sm);color:var(--color-primary-text);background:var(--color-primary-soft)}.detail__metadata-icon svg{width:1.25rem;height:1.25rem}.detail__metadata-label{display:block;margin-bottom:.25rem;color:var(--color-text-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.detail__metadata-value{color:var(--color-text);font-size:.95rem;overflow-wrap:anywhere}.detail__genres{display:flex;gap:.4rem;flex-wrap:wrap}.detail__genre{display:inline-flex;padding:.25rem .55rem;border-radius:999px;background:var(--color-surface-subtle);color:var(--heading-color, #344054);font-size:.82rem;font-weight:600}.detail__overview,.detail__overview-single{display:grid;gap:clamp(1.5rem,4vw,3rem);margin-top:1.25rem;padding:clamp(1.5rem,4vw,2.25rem);border:1px solid var(--color-border);border-radius:1.1rem;background:var(--color-surface)}.detail__overview{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr)}.detail__overview-single{grid-template-columns:1fr}.detail__notes{width:100%;min-height:9rem;margin-top:1rem;padding:1rem;border:1px solid #d7e1f0;border-radius:.75rem;background:var(--color-surface-subtle);color:var(--heading-color, #344054);font:inherit;line-height:1.6;resize:vertical;box-sizing:border-box;cursor:default}.detail__notes:focus{outline:none}.detail__related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem;margin-top:1rem}.detail__related-card{display:flex;flex-direction:column;justify-content:space-between;min-height:170px;padding:1.25rem;border:1px solid var(--color-border);border-radius:1.25rem;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 8%,white),var(--color-surface) 65%);box-shadow:0 2px 5px #10182814;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.detail__related-card--compact{border:1px solid var(--color-border);border-radius:1.25rem;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 8%,white),var(--color-surface) 65%);box-shadow:0 2px 5px #10182814;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.detail__related-card:hover{transform:translateY(-3px);border-color:var(--color-primary);box-shadow:0 10px 24px #1018281a}.detail__related-icon{width:2rem;height:2rem;color:var(--color-primary)}.detail__related-label{margin-top:auto;color:var(--color-text-muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.detail__related-title{margin-top:.35rem;color:var(--color-text);font-size:1.1rem;line-height:1.3}.detail__section-heading h2{margin:.5rem 0 0;color:var(--color-text);font-size:clamp(1.4rem,3vw,1.9rem)}.detail__section-heading>p:last-child{margin:.8rem 0 0;color:var(--color-text-muted);line-height:1.65}.detail__information-list{margin:0}.detail__information-row{display:grid;grid-template-columns:minmax(110px,.35fr) minmax(0,1fr);gap:1rem;padding:1rem 0;border-bottom:1px solid var(--color-border)}.detail__information-row:first-child{padding-top:0}.detail__information-row:last-child{padding-bottom:0;border-bottom:0}.detail__information-row dt{color:var(--color-text-muted);font-weight:600}.detail__information-row dd{min-width:0;margin:0;color:var(--color-text);line-height:1.6;overflow-wrap:anywhere}.detail__state{margin-top:1rem;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--color-border);border-radius:1rem;background:var(--color-surface)}.detail__error-header{max-width:680px;margin-bottom:1.25rem}.detail__error-header h1{margin:.5rem 0;color:var(--color-text)}.detail__error-header>p:last-child{margin:0;color:var(--color-text-muted)}.detail__actions .delete{align-items:flex-end}.detail__actions .delete__error{max-width:240px}.detail__notice{margin-bottom:1.25rem}.detail__hero--location{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at top right,color-mix(in srgb,var(--color-primary) 14%,transparent),transparent 34%),linear-gradient(135deg,var(--color-primary-soft),var(--color-surface) 68%)}.detail__hero--location:after{position:absolute;z-index:-1;right:-4rem;bottom:-5rem;width:13rem;height:13rem;border:1px solid color-mix(in srgb,var(--color-primary) 16%,transparent);border-radius:50%;content:""}.detail__badge{display:inline-flex;min-height:1.75rem;max-width:100%;align-items:center;gap:.35rem;padding:.25rem .65rem;border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);border-radius:999px;color:var(--color-primary-text);background:var(--color-primary-soft);font-size:.8rem;font-weight:700}.detail__badge svg{width:.95rem;height:.95rem;flex:0 0 .95rem}.detail__prose{min-width:0;padding:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.detail__prose p{margin:0;color:var(--color-text);font-size:1rem;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.detail__feature-card{display:flex;min-width:0;align-items:flex-start;gap:1rem;padding:clamp(1.25rem,3vw,1.75rem);border:1px solid color-mix(in srgb,var(--color-primary) 24%,var(--color-border));border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary-soft),var(--color-surface))}.detail__feature-icon{display:grid;width:3rem;height:3rem;flex:0 0 3rem;place-items:center;border-radius:var(--radius-sm);color:var(--color-primary-text);background:var(--color-surface);box-shadow:var(--shadow-sm)}.detail__feature-icon svg{width:1.4rem;height:1.4rem}.detail__feature-content{min-width:0}.detail__feature-label{display:block;margin-bottom:.4rem;color:var(--color-primary-text);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.detail__feature-value{margin:0;color:var(--color-text);font-size:clamp(1rem,2vw,1.15rem);font-weight:650;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.detail__footer-navigation{display:flex;align-items:center;gap:.75rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--color-border);flex-wrap:wrap}.detail__hero--character{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at top right,color-mix(in srgb,var(--color-primary) 15%,transparent),transparent 35%),linear-gradient(135deg,var(--color-primary-soft),var(--color-surface) 68%)}.detail__hero--character:before{position:absolute;z-index:-1;top:-5rem;right:7rem;width:12rem;height:12rem;border:1px solid color-mix(in srgb,var(--color-primary) 14%,transparent);border-radius:50%;content:""}.detail__hero--character:after{position:absolute;z-index:-1;right:-3.5rem;bottom:-5rem;width:13rem;height:13rem;border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent);border-radius:50%;content:""}.detail__feature-card--goal{background:linear-gradient(135deg,var(--color-primary-soft),var(--color-surface))}.detail__feature-card--knowledge{border-color:var(--color-border);background:linear-gradient(135deg,var(--color-surface-subtle),var(--color-surface))}.detail__feature-card--knowledge .detail__feature-icon{color:var(--color-text);background:var(--color-surface)}.detail__feature-card--knowledge .detail__feature-label{color:var(--color-text-muted)}@media(max-width:820px){.detail__hero{flex-direction:column}.detail__actions{width:100%;justify-content:flex-start}.detail__metadata,.detail__overview{grid-template-columns:1fr}}@media(max-width:520px){.detail-page{padding:1rem}.detail__hero{padding:1.25rem}.detail__actions{align-items:stretch;flex-direction:column}.detail__edit-link,.detail__actions .delete__button{width:100%}.detail__actions .delete{align-items:stretch;width:100%}.detail__information-row{grid-template-columns:1fr;gap:.35rem}.detail__feature-card{align-items:stretch;flex-direction:column}.detail__feature-icon{width:2.75rem;height:2.75rem;flex-basis:2.75rem}.detail__footer-navigation{align-items:stretch;flex-direction:column}.detail__footer-navigation .button{width:100%}}.detail__controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0;padding:1.25rem;border:1px solid var(--color-border);border-radius:1rem;background:var(--color-surface)}.detail__controls-group{display:flex;flex-direction:column;gap:.45rem}.detail__controls-group label{color:var(--color-text-muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.detail__controls-group select{min-height:2.75rem}.detail__controls-group--wide select{min-height:8rem}.detail__hero--scene{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at top right,color-mix(in srgb,var(--color-primary) 14%,transparent),transparent 34%),linear-gradient(135deg,var(--color-primary-soft),var(--color-surface) 68%)}.detail__feature-card--notes{border-color:var(--color-border);background:linear-gradient(135deg,var(--color-surface-subtle),var(--color-surface))}.detail__feature-card--notes .detail__feature-icon{color:var(--color-text);background:var(--color-surface)}.detail__feature-card--notes .detail__feature-label{color:var(--color-text-muted)}.collection-page{flex:1;padding:clamp(1.25rem,4vw,3rem);background:radial-gradient(circle at top right,rgba(230,106,22,.09),transparent 28%),var(--color-background)}.collection-page__content{width:min(var(--content-width),100%);margin:0 auto}.collection-header{margin-bottom:1.5rem}.collection-header__panel{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding:clamp(1.5rem,4vw,2.5rem);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-primary-soft),var(--color-surface) 65%);box-shadow:var(--shadow-sm)}.collection-header__content{min-width:0;max-width:720px}.collection-header__eyebrow{margin:0 0 .6rem;color:var(--color-primary);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.collection-header__title-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.collection-header__title-row h1{margin:0;color:var(--color-text);font-size:clamp(2rem,5vw,3.25rem);line-height:1.05;letter-spacing:-.04em}.collection-header__count{display:inline-flex;min-width:2rem;min-height:2rem;align-items:center;justify-content:center;padding:.25rem .65rem;border-radius:999px;color:var(--color-primary-text);background:var(--color-primary-soft);font-weight:800}.collection-header__description{max-width:65ch;margin:1rem 0 0;color:var(--color-text-muted);line-height:1.7}.collection-header__action svg{width:1.1rem;height:1.1rem}.collection-toolbar{margin:1.5rem 0;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.collection-toolbar__controls{display:grid;grid-template-columns:minmax(240px,1fr) repeat(2,minmax(150px,220px));gap:1rem;align-items:end}.collection-toolbar__search,.collection-toolbar__field{display:grid;gap:.4rem}.collection-toolbar__label{color:var(--color-text-muted);font-size:.78rem;font-weight:750}.collection-toolbar__input-wrap,.collection-toolbar__select-wrap{position:relative}.collection-toolbar__input-wrap svg,.collection-toolbar__select-wrap svg{position:absolute;top:50%;left:.8rem;width:1.05rem;height:1.05rem;color:var(--color-text-soft);transform:translateY(-50%);pointer-events:none}.collection-toolbar input,.collection-toolbar select{width:100%;min-height:44px;padding:.65rem .8rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-surface)}.collection-toolbar__input-wrap input,.collection-toolbar__select-wrap select{padding-left:2.4rem}.collection-toolbar input:focus,.collection-toolbar select:focus{border-color:var(--color-primary);outline:3px solid color-mix(in srgb,var(--color-primary) 18%,transparent)}.collection-toolbar__summary{margin:.9rem 0 0;color:var(--color-text-muted);font-size:.85rem}.collection-toolbar__summary strong{color:var(--color-text)}.collection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.1rem}@media(max-width:760px){.collection-header__panel{flex-direction:column}.collection-header__action{width:100%}.collection-toolbar__controls{grid-template-columns:1fr}}.delete{display:flex;min-width:0;flex-direction:column;gap:.4rem}.delete__button{display:inline-flex;width:auto;min-height:2.5rem;align-items:center;justify-content:center;gap:.45rem;padding:.55rem .9rem;border:1px solid var(--color-danger, #b42318);border-radius:.5rem;color:var(--color-danger, #b42318);background:transparent;font:inherit;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .16s ease,color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}.delete__button:hover:not(:disabled){border-color:var(--color-danger, #b42318);color:#fff;background:var(--color-danger, #b42318);box-shadow:0 6px 14px color-mix(in srgb,var(--color-danger, #b42318) 20%,transparent);transform:translateY(-1px)}.delete__button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-danger, #b42318) 25%,transparent);outline-offset:2px}.delete__button:disabled{opacity:.6;cursor:not-allowed}.delete__icon{display:block;width:1.05rem;height:1.05rem;flex:0 0 1.05rem;stroke-width:2}.delete--detail{align-items:flex-end}.delete--detail .delete__button{min-height:2.5rem;padding:.55rem .9rem;border-radius:.5rem}.delete--compact{align-items:flex-end}.delete--compact .delete__button{min-height:2.4rem;padding:.55rem .75rem;border-radius:.68rem;font-size:.83rem;font-weight:700}.delete__error{max-width:18rem;margin:0;color:var(--color-danger, #b42318);font-size:.8rem;line-height:1.4;text-align:right}@media(max-width:520px){.delete--detail,.delete--compact{width:100%;align-items:stretch}.delete__button{width:100%}.delete__error{max-width:none;text-align:left}}@media(prefers-reduced-motion:reduce){.delete__button{transition:none}.delete__button:hover:not(:disabled){transform:none}}
