:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:linear-gradient(#f8fbff 0%,#eef4ff 100%);min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button{font:inherit}#root{min-height:100vh}.app-shell{width:min(1100px,100% - 32px);margin:0 auto;padding:98px 0 40px}.topbar{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8fbfff0;border-bottom:1px solid #94a3b82e;position:fixed;top:0;left:0;right:0}.topbar-inner{grid-template-columns:minmax(140px,180px) minmax(0,1fr);align-items:center;gap:24px;width:min(1100px,100% - 32px);min-height:74px;margin:0 auto;display:grid}.topbar-left{align-items:center;display:flex}.brand-link{color:#0f172a;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:1.2rem;font-weight:800}.brand-link-active{color:#1d4ed8}.topbar-main{grid-template-columns:auto minmax(360px,1fr) auto;align-items:center;gap:14px;min-width:0;display:grid}.topbar-nav{min-width:0}.topbar-link-group,.topbar-action-group{align-items:center;gap:10px;display:inline-flex}.topbar-link-group{justify-content:flex-start}.topbar-action-group{justify-content:flex-end}.nav-link{color:#334155;cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;min-height:38px;padding:8px 14px;transition:background-color .18s,color .18s;display:inline-flex}.nav-link-active{color:#1d4ed8;background:#2563eb1f}.nav-search-form{width:100%;min-width:0}.nav-search-field{width:100%;position:relative}.nav-search-input{color:#334155;background:#ffffffe0;border:1px solid #94a3b847;border-radius:999px;width:100%;min-height:44px;padding:0 52px 0 16px;font-size:.95rem}.nav-search-button{color:#eff6ff;cursor:pointer;background:#2563eb;border:none;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.nav-search-button svg{width:18px;height:18px}.topbar-upload-button{background:#2563eb14;min-height:38px}.page-container{display:block}.page-stack{gap:20px;display:grid}.home-page{gap:10px}.page-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.card{background:#ffffffe6;border:1px solid #94a3b83d;border-radius:8px;padding:24px;box-shadow:0 18px 40px #94a3b82e}.card h2{margin-top:0;margin-bottom:12px}.card p{color:#475569;margin:0 0 12px}.hero-card h2,.model-meta h2,.detail-card h2{margin-top:0;margin-bottom:12px}.hero-shell{--hero-progress:0;--hero-exit:0;--hero-opacity-fast:1;align-items:flex-start;min-height:calc(100vh - 154px);padding:30px 0 88px;display:flex;position:relative}.hero-copy{z-index:2;width:min(580px,100%);padding-top:clamp(10px,6vh,72px);position:relative}.hero-copy .section-kicker{color:#475569;margin-bottom:18px}.hero-copy h1{letter-spacing:-.05em;color:#0f172a;max-width:10ch;margin:0;font-size:clamp(3.4rem,7.6vw,6.3rem);line-height:.94}.hero-lead{color:#334155;max-width:36rem;margin:22px 0 0;font-size:1.1rem;line-height:1.7}.hero-actions{margin-top:28px}.hero-geometry{z-index:0;pointer-events:none;position:absolute;inset:-30px -16px 0;overflow:hidden}.geometry-shape{will-change:transform, opacity, filter;transition:transform .18s ease-out,opacity .18s ease-out;display:block;position:absolute}.geometry-shape-red-haze{aspect-ratio:1;filter:blur(20px);width:min(25vw,320px);opacity:calc(.86 * var(--hero-opacity-fast));transform:translate3d(calc(var(--hero-progress) * -84px), calc(var(--hero-progress) * 126px), 0) scale(calc(1.09 - (var(--hero-exit) * .58)));background:radial-gradient(circle at 35% 35%,#fef2f2e6,#fb718580 38%,#ef44442e 100%);border-radius:50%;top:28px;right:4%}.geometry-shape-yellow-orb{aspect-ratio:1;filter:blur(4px);width:min(13vw,164px);opacity:calc(.88 * var(--hero-opacity-fast));transform:translate3d(calc(var(--hero-progress) * 58px), calc(var(--hero-progress) * 34px), 0) rotate(calc(var(--hero-progress) * -28deg)) scale(calc(1.04 - (var(--hero-exit) * .28)));background:radial-gradient(circle at 30% 30%,#fef9c3,#facc15c7 55%,#f59e0b47 100%);border-radius:43% 57% 54% 46%/48% 37% 63% 52%;top:168px;right:min(22vw,260px)}.geometry-shape-blue-disc{aspect-ratio:1;width:min(19vw,236px);opacity:calc(.94 * var(--hero-opacity-fast));transform:translate3d(calc(var(--hero-progress) * -116px), calc(var(--hero-progress) * 178px), 0) rotate(calc(var(--hero-progress) * 34deg)) scale(calc(1.06 - (var(--hero-exit) * .74)));background:radial-gradient(circle at 30% 28%,#ffffffdb,#7dd3fc4d 32%,#2563ebb8 100%);border-radius:38% 62% 58% 42%/48% 45% 55% 52%;bottom:128px;right:2%;box-shadow:0 28px 54px #2563eb2e}.geometry-shape-blue-ring{aspect-ratio:1;width:min(18vw,220px);opacity:calc(.64 * var(--hero-opacity-fast));transform:translate3d(calc(var(--hero-progress) * -46px), calc(var(--hero-progress) * 118px), 0) rotate(calc(var(--hero-progress) * 84deg)) scale(calc(1.12 - (var(--hero-exit) * .62)));border:1px solid #3b82f652;border-radius:50%;top:52px;right:min(15vw,180px)}.geometry-shape-red-bar{filter:blur(10px);width:min(19vw,220px);height:min(6vw,70px);opacity:calc(.72 * var(--hero-opacity-fast));transform:translate3d(calc(var(--hero-progress) * 124px), calc(var(--hero-progress) * 112px), 0) rotate(calc(var(--hero-progress) * -24deg)) scaleX(calc(1.02 - (var(--hero-exit) * .48)));background:linear-gradient(135deg,#fecacadb,#fb7185c2,#f9731670);border-radius:999px;bottom:106px;left:clamp(360px,48vw,600px)}.geometry-shape-yellow-chip{width:min(8vw,98px);height:min(8vw,98px);opacity:calc(.5 * var(--hero-opacity-fast));transform:translate3d(calc(var(--hero-progress) * -42px), calc(var(--hero-progress) * 74px), 0) rotate(calc(var(--hero-progress) * 42deg)) scale(calc(1.04 - (var(--hero-exit) * .34)));background:linear-gradient(135deg,#fef9c3e6,#facc1599);border-radius:28px;top:94px;left:clamp(320px,38vw,460px);box-shadow:0 18px 40px #facc1529}.actions{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.button-link{cursor:pointer;color:#eff6ff;background:#2563eb;border:none;border-radius:6px;justify-content:center;align-items:center;padding:10px 14px;display:inline-flex}.button-link.secondary{color:#1e293b;background:#e2e8f0}.plain-list{color:#475569;margin:0;padding-left:20px}.section-kicker{color:#2563eb;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-size:.82rem}.model-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.model-card{padding:0;transition:transform .18s,border-color .18s;display:block;overflow:hidden}.model-card:hover{border-color:#60a5fa80;transform:translateY(-4px)}.model-cover{aspect-ratio:16/10;object-fit:cover;background:#dbeafe;width:100%;display:block}.model-meta{padding:20px}.model-link{color:#2563eb;font-weight:600;display:inline-flex}.model-date{color:#2563eb;font-size:.92rem}.detail-grid{grid-template-columns:minmax(280px,1.05fr) minmax(320px,1fr);align-items:start}.detail-grid-modal{align-items:center;gap:24px}.detail-cover-card,.detail-card{height:100%}.detail-cover-card{padding:0;overflow:hidden}.detail-preview-surface{background:#dbeafe;height:100%;min-height:320px;position:relative}.detail-cover{object-fit:cover;background:#dbeafe;width:100%;height:100%;min-height:320px;display:block}.detail-preview-overlay{pointer-events:none;background:linear-gradient(#0f172a38,#0f172a05 38%);justify-content:flex-start;align-items:flex-start;padding:16px;display:flex;position:absolute;inset:0}.detail-preview-trigger{pointer-events:auto;color:#eff6ff;font:inherit;text-transform:uppercase;letter-spacing:.08em;letter-spacing:.01em;cursor:pointer;opacity:0;background:#0f172ab3;border:1px solid #e2e8f0b8;padding:8px 14px;font-size:.8rem;font-weight:600;transition:opacity .18s,transform .18s,background-color .18s;transform:translateY(-4px)}.detail-preview-surface:hover .detail-preview-trigger,.detail-preview-surface:focus-within .detail-preview-trigger{opacity:1;transform:translateY(0)}.detail-preview-trigger:hover,.detail-preview-trigger:focus-visible{background:#0f172ad1;outline:none}.detail-preview-loading,.detail-viewer-error,.detail-viewer-loading,.viewer-modal-loading{text-align:center;color:#334155;background:linear-gradient(#eff6fff5,#dbeafeeb);place-items:center;min-height:320px;padding:24px;display:grid}.detail-preview-loading p,.detail-viewer-error p,.detail-viewer-loading p,.viewer-modal-loading p{margin:0}.detail-viewer-shell{background:#fff;border-radius:28px;grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:min(78vh,860px);display:grid;position:relative;overflow:hidden}.detail-viewer-shell-white{background:#fff}.detail-viewer-shell-black{background:radial-gradient(circle at top,#60a5fa1f,#0000 30%),linear-gradient(#0f172afa,#070a10fa)}.detail-viewer-shell-softWhite{background:radial-gradient(circle at top,#e2e8f073,#0000 34%),linear-gradient(#f3efe7,#ebe7de)}.detail-viewer-shell-softBlack{background:radial-gradient(circle at top,#94a3b824,#0000 32%),linear-gradient(#374151,#2f3440)}.detail-viewer-shell canvas{min-height:min(78vh,860px);width:100%!important;height:100%!important}.detail-viewer-toolbar{z-index:2;justify-content:space-between;align-items:center;gap:16px;display:flex;position:absolute;top:18px;left:18px;right:18px}.detail-viewer-label{color:#f8fafcf0;letter-spacing:.04em;text-transform:uppercase;max-width:min(42ch,52vw);font-size:.92rem}.detail-viewer-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.detail-viewer-background-group{align-items:center;gap:8px;margin-right:4px;display:inline-flex}.detail-viewer-swatch{cursor:pointer;border:1px solid #ffffff38;border-radius:999px;width:24px;height:24px;padding:0;transition:transform .15s,box-shadow .15s,border-color .15s;box-shadow:0 0 0 1px #0f172a2e}.detail-viewer-swatch:hover,.detail-viewer-swatch:focus-visible{outline:none;transform:translateY(-1px)}.detail-viewer-swatch.is-active{box-shadow:0 0 0 2px #3b82f6d9}.detail-viewer-swatch-white{background:#fff}.detail-viewer-swatch-black{background:#05070c}.detail-viewer-swatch-softWhite{background:#f3efe7}.detail-viewer-swatch-softBlack{background:#2f3440}.detail-viewer-button{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #ffffff24;padding:8px 12px;color:#f8fafc!important;background:#0f172a75!important}.detail-viewer-hint{color:#e2e8f0e0;background:linear-gradient(#0f172a00,#0f172abd);margin:0;padding:14px 18px 18px;font-size:.88rem}.detail-viewer-shell-white .detail-viewer-label,.detail-viewer-shell-softWhite .detail-viewer-label{color:#0f172ae6}.detail-viewer-shell-white .detail-viewer-button,.detail-viewer-shell-softWhite .detail-viewer-button{border-color:#94a3b866;color:#0f172a!important;background:#ffffffd6!important}.detail-viewer-shell-white .detail-viewer-swatch,.detail-viewer-shell-softWhite .detail-viewer-swatch{border-color:#94a3b8a6}.detail-viewer-shell-white .detail-viewer-hint{color:#334155eb;background:linear-gradient(#fff0,#f1f5f9eb)}.detail-viewer-shell-softWhite .detail-viewer-hint{color:#334155e0;background:linear-gradient(#f3efe700,#ebe7def0)}.detail-viewer-shell-softBlack .detail-viewer-hint{color:#e2e8f0d6;background:linear-gradient(#2f344000,#1f2937b8)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.detail-description p:last-child{margin-bottom:0}.detail-description-scroll{max-height:min(24vh,220px);padding-right:8px;overflow:auto}.detail-modal-overlay{z-index:120;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f172a2e;place-items:center;padding:28px 20px;display:grid;position:fixed;inset:0}.detail-modal-shell{background:#f8fbffd6;border:1px solid #ffffff1f;border-radius:18px;width:min(1120px,100%);padding:24px;position:relative;box-shadow:0 28px 80px #0f172a33}.viewer-modal-overlay{z-index:140;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020617b8;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.viewer-modal-content{width:min(1320px,100%);height:min(88vh,920px)}.detail-modal-close{z-index:2;color:#334155;cursor:pointer;background:0 0;border:none;border-radius:0;width:24px;height:24px;padding:0;position:absolute;top:8px;right:8px}.detail-modal-close-icon{width:14px;height:14px;margin:0 auto;display:block;position:relative}.detail-modal-close-icon:before,.detail-modal-close-icon:after{content:"";transform-origin:50%;background:#0f172ab8;border-radius:999px;width:14px;height:1.5px;position:absolute;top:50%;left:50%}.detail-modal-close-icon:before{transform:translate(-50%,-50%)rotate(45deg)}.detail-modal-close-icon:after{transform:translate(-50%,-50%)rotate(-45deg)}.modal-detail-grid{padding-top:0}.modal-detail-grid .detail-cover-card,.modal-detail-grid .detail-card{align-self:center}.modal-detail-grid .detail-card{flex-direction:column;justify-content:center;display:flex}.modal-detail-grid .detail-cover,.modal-detail-grid .detail-preview-surface,.modal-detail-grid .detail-preview-loading{min-height:0;max-height:min(68vh,640px)}.upload-grid{grid-template-columns:minmax(320px,1.25fr) minmax(260px,.85fr);align-items:start}.submission-form{gap:16px;display:grid}.form-field{gap:8px;display:grid}.form-label{color:#0f172a;font-weight:600}.form-input{color:#0f172a;background:#fff;border:1px solid #94a3b866;border-radius:6px;width:100%;padding:12px 14px}.form-input:focus{outline-offset:1px;outline:2px solid #60a5fab3}.form-input::file-selector-button{color:#1d4ed8;cursor:pointer;background:#2563eb1f;border:none;border-radius:6px;margin-right:12px;padding:8px 12px}.form-textarea{resize:vertical;min-height:140px}.form-help{color:#2563eb;font-size:.92rem}.tag-input-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;display:grid}.tag-chip-list,.selected-tag-list{flex-wrap:wrap;gap:10px;display:flex}.tag-chip,.selected-tag-chip{color:#334155;cursor:pointer;background:#fff;border:1px solid #94a3b84d;border-radius:999px;padding:8px 12px}.tag-chip-active,.selected-tag-chip-active{color:#1d4ed8;background:#2563eb1f;border-color:#2563eb3d}.tag-scope-broad{color:#1e40af;background:#1d4ed829;border-color:#1d4ed847}.tag-scope-medium{color:#1d4ed8;background:#2563eb1a;border-color:#2563eb38}.tag-scope-specific{color:#1e3a8a;background:#bfdbfe8f;border-color:#60a5fa42}.raw-tag-chip{border-style:dashed}.model-tag-list{margin-bottom:12px}.form-actions{grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);align-items:stretch;gap:12px;display:grid}.form-reset-button,.form-upload-button{width:100%}.button-link:disabled{cursor:not-allowed;opacity:.7}.form-message{border-radius:8px;margin-top:20px;padding:14px 16px}.form-message p:last-child{margin-bottom:0}.error-message{color:#b91c1c;background:#fef2f2;border:1px solid #dc26263d}.success-message{color:#166534;background:#f0fdf4;border:1px solid #16a34a3d}.admin-grid{grid-template-columns:minmax(320px,1fr) minmax(340px,1.1fr);align-items:start}.admin-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-filters{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.admin-filter{color:#334155;cursor:pointer;background:#fff;border:1px solid #94a3b838;border-radius:6px;padding:8px 14px}.admin-filter-active{color:#eff6ff;background:#2563eb;border-color:#0000}.admin-submission-list{gap:12px;display:grid}.admin-submission-item{text-align:left;width:100%;color:inherit;cursor:pointer;background:#fffffff5;border:1px solid #94a3b838;border-radius:8px;padding:16px}.admin-submission-item-active{border-color:#60a5fab3;box-shadow:inset 0 0 0 1px #60a5fa40}.admin-submission-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.admin-submission-meta{color:#2563eb;margin-bottom:0;font-size:.92rem}.status-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;align-items:center;padding:4px 10px;font-size:.82rem;display:inline-flex}.status-pending{color:#92400e;background:#fef3c7}.status-approved{color:#166534;background:#dcfce7}.status-rejected{color:#b91c1c;background:#fee2e2}.admin-detail{gap:16px;display:grid}.admin-detail-cover{aspect-ratio:16/10;object-fit:cover;background:#dbeafe;border-radius:8px;width:100%}.admin-detail-meta{gap:4px;display:grid}.admin-detail-meta p{margin-bottom:0}.destructive-button{color:#fff;background:#dc2626}pre{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin:0;padding:16px;font-size:.92rem;overflow:auto}.gallery-anchor{gap:6px;scroll-margin-top:100px;display:grid}.gallery-anchor-enhanced{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding-bottom:6px}.gallery-anchor-copy{max-width:680px}.gallery-anchor-copy h2{margin:0 0 10px}.gallery-anchor-copy p:last-child{color:#64748b;margin:0}.gallery-anchor h2{margin:0}.gallery-toolbar{gap:14px;display:grid}.gallery-toolbar-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.search-result-summary{color:#2563eb;margin:0}.site-footer{color:#64748b;text-align:center;border-top:1px solid #94a3b838;gap:12px;margin-top:48px;padding:24px 0 8px;scroll-margin-top:100px;display:grid}.about-page{place-items:center;min-height:calc(100vh - 180px);padding:24px 0 12px;display:grid}.about-panel{text-align:center;width:min(680px,100%);margin:0 auto}.footer-about,.footer-meta,.footer-links a{margin:0;font-size:.9rem}.footer-meta{color:#64748b}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;display:flex}.footer-links a{color:#2563eb}.footer-link-with-icon{align-items:center;gap:8px;display:inline-flex}.footer-link-icon{width:16px;height:16px}@media (width<=768px){.app-shell{width:min(100% - 24px,1100px);padding-top:132px}.topbar-inner{grid-template-columns:1fr;gap:12px;width:min(100% - 24px,1100px);min-height:auto;padding:14px 0}.topbar-main{grid-template-columns:1fr;gap:12px;width:100%}.topbar-link-group,.topbar-action-group{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.home-page{gap:16px}.hero-shell{min-height:auto;padding:6px 0 44px}.hero-copy h1{max-width:none;font-size:clamp(2.7rem,12vw,4.4rem)}.hero-lead{font-size:1rem}.hero-actions{width:100%}.geometry-shape-red-haze{width:190px;top:8px;right:-44px}.geometry-shape-yellow-orb{width:104px;top:114px;right:58px}.geometry-shape-blue-disc{width:160px;bottom:98px;right:-24px}.geometry-shape-blue-ring{width:132px;top:34px;right:36px}.geometry-shape-red-bar{width:140px;height:42px;bottom:54px;left:48%}.geometry-shape-yellow-chip{width:56px;height:56px;top:80px;left:54%}.gallery-anchor-enhanced{grid-template-columns:1fr;align-items:start}.gallery-toolbar-meta,.tag-input-row{flex-direction:column;align-items:stretch}.detail-grid{grid-template-columns:1fr}.detail-modal-overlay{padding:16px 12px}.detail-modal-shell{border-radius:14px;padding:18px}.detail-description-scroll{max-height:180px}.detail-viewer-toolbar{flex-direction:column;align-items:flex-start;top:12px;left:12px;right:12px}.detail-viewer-toolbar-actions{justify-content:flex-start;width:100%}.detail-viewer-background-group{margin-right:0}.detail-viewer-label{max-width:100%}.viewer-modal-overlay{padding:16px 12px}.viewer-modal-content,.detail-viewer-shell,.detail-viewer-shell canvas{height:min(84vh,760px);min-height:520px}.upload-grid,.form-actions,.admin-grid{grid-template-columns:1fr}.admin-toolbar{flex-direction:column}.footer-links{flex-direction:column;align-items:center}}@media (hover:none){.detail-preview-trigger{opacity:1;transform:translateY(0)}}
