/* Jetons copiés de solstice-platform/DESIGN.md, ReelFlow Night Observatory. */
@font-face{font-family:Inter;src:url('fonts/InterVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--bg:#0d1320;--raised:#172136;--surface:rgba(255,255,255,.065);--line:rgba(255,255,255,.09);--ink:#e8ecf4;--muted:#aeb7ca;--amber:#e8a33d;--cyan:#5fc9e8;--radius:10px;--control:8px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0!important;background:var(--bg)!important;color:var(--ink)!important;font-family:Inter,system-ui,sans-serif!important;font-size:14px;line-height:1.45}a{color:var(--cyan)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.shell{min-height:100vh}.top{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;border-bottom:1px solid var(--line);background:var(--bg)}.brand{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}.brand-mark{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:var(--amber);color:var(--bg);font-weight:800}.brand strong{color:var(--amber)}nav{display:flex;gap:4px}nav a{padding:10px 12px;min-height:44px;display:grid;place-items:center;color:var(--muted);text-decoration:none;border-radius:8px;font-weight:600}nav a:hover{background:var(--raised);color:var(--ink)}main{max-width:1560px;margin:auto}.page-section{padding:24px 20px 38px;scroll-margin-top:15px;border-bottom:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px}.section-head h1,.section-head h2{font-size:24px;line-height:1.2;letter-spacing:-.025em;margin:1px 0 0;color:var(--ink)}.section-head p{max-width:420px;margin:0 0 2px;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--amber)}.chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:12px;scrollbar-width:thin}.chip{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;flex:none;border-radius:8px;border:1px solid var(--line);background:var(--raised);color:var(--muted);text-decoration:none;font-weight:600}.chip:hover,.chip.active{color:var(--bg);background:var(--amber);border-color:var(--amber)}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.build,.model{min-width:0;background:var(--raised);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.build>a:first-child{display:block;aspect-ratio:4/3;background:#111927}.build img{display:block;width:100%;height:100%;object-fit:cover}.build-body{padding:12px}.build-meta{display:flex;gap:6px;flex-wrap:wrap}.build-meta span{font-size:11px;font-weight:700;border-radius:5px;padding:3px 6px;background:var(--surface);color:var(--amber)}.build-meta span+span{color:var(--muted)}.build h2{font-size:16px;line-height:1.25;margin:8px 0 4px;color:var(--ink)}.byline{color:var(--muted);font-size:12px;margin:0 0 9px}.build details{border-top:1px solid var(--line);padding-top:8px;color:var(--muted)}.build summary{cursor:pointer;color:var(--ink);font-weight:600}.build ul{padding-left:18px}.build li{margin-top:5px}.build details p{margin:8px 0}.text-link{display:inline-block;margin-top:10px;font-weight:600}.models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.model{padding:16px;display:flex;flex-direction:column}.model-top{display:flex;justify-content:space-between;color:var(--amber);font-size:11px;font-weight:700;letter-spacing:.08em}.model h3{font-size:18px;color:var(--ink);margin:14px 0 5px}.model p{color:var(--muted);margin:0 0 9px}.model .spec{color:var(--ink)}.model .match{font-size:12px}.model .btn{align-self:flex-start;margin-top:auto}.btn{min-height:44px;border-radius:8px!important;font-weight:650!important;padding:10px 13px!important}.btn-primary{background:var(--amber)!important;color:var(--bg)!important;border-color:var(--amber)!important}.btn-secondary{background:var(--raised)!important;color:var(--ink)!important;border:1px solid var(--line)!important}.composer-slot{margin-top:12px;border:1px dashed rgba(255,255,255,.2);padding:14px;border-radius:var(--radius);color:var(--muted)}.composer-slot strong{color:var(--ink)}.composer-slot p{margin:3px 0 0}.evidence{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:13px}.evidence span{padding:7px 9px;background:var(--surface);border-radius:8px;font-size:12px;color:var(--muted)}.sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.source{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;background:var(--raised);min-width:0}.source h3{font-size:14px;margin:0;overflow-wrap:anywhere}.source p{font-size:12px;margin:2px 0 0;color:var(--muted)}.source a{flex:none;font-weight:600}.proof{color:var(--amber)}.footnote{color:var(--muted);margin:13px 0 0}.project-feature{display:flex;align-items:center;gap:14px;background:var(--raised);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;max-width:800px;margin-bottom:16px}.project-feature img{width:125px;height:125px;object-fit:cover}.project-feature div{padding:10px}.project-feature h3{font-size:18px;margin:0 0 5px}.project-feature p{margin:0;color:var(--muted)}#project-login,#project-app{max-width:800px}#project-login label,form label{display:block;font-weight:600;margin:8px 0}.login-row{display:flex;gap:8px}input,select,textarea{display:block;width:100%;min-height:44px;margin-top:5px;padding:9px 10px;color:var(--ink)!important;background:var(--raised)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:8px!important;font-size:16px!important}textarea{resize:vertical}.login-row input{max-width:330px}.project-toolbar{display:flex;justify-content:space-between;align-items:center}.project-toolbar h3{margin:0}.project-row,.piece-row,.shopping-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:10px 0}.project-row{justify-content:space-between}.project-row strong{display:block}.project-row span{color:var(--muted);font-size:12px}.project-actions,.form-actions{display:flex;gap:8px;flex-wrap:wrap}.form-actions{margin-top:13px}.piece-row{display:grid;grid-template-columns:1fr 1fr 105px 130px 32px;align-items:end}.piece-row input,.piece-row select{margin:0}.piece-row button{min-height:44px}.shopping-row{display:grid;grid-template-columns:1fr 130px 80px}.shopping-row a{overflow-wrap:anywhere}#shopping-total{font-weight:700;color:var(--amber)}#shopping-alerts{color:var(--muted)}footer{padding:20px;color:var(--muted);text-align:center}@media(max-width:1000px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.models{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.top{display:block;padding:8px 12px 0}.brand{height:35px;font-size:16px}nav{overflow-x:auto;justify-content:space-between;gap:0}nav a{padding:8px;font-size:12px;white-space:nowrap}.page-section{padding:12px 12px 28px}.section-head{display:block;margin-bottom:8px}.section-head h1,.section-head h2{font-size:21px}.section-head p{display:none}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.build-body{padding:9px}.build h2{font-size:14px}.build-meta span+span{display:none}.models,.sources{grid-template-columns:1fr}.login-row{display:block}.login-row button{margin-top:8px}.piece-row{grid-template-columns:1fr 1fr}.piece-row button{grid-column:2}.shopping-row{grid-template-columns:1fr 80px}.shopping-row a{grid-column:1/-1}}@media(max-width:420px){.gallery{grid-template-columns:1fr}.build>a:first-child{aspect-ratio:4/2.25}.build h2{font-size:16px}.project-feature img{width:95px;height:110px}}
.build[hidden]{display:none!important}@media print{.top,.chips,.section-head,.gallery,.models,.sources,.project-feature,#project-login,#project-list,.project-toolbar,.form-actions,footer{display:none!important}#shopping{display:block!important;color:#000}body{background:#fff!important;color:#000!important}}
#projets{min-height:calc(100vh - 64px)}
.model-photo{display:block;width:100%;height:95px;margin-top:12px;overflow:hidden;border-radius:8px}.model-photo img{width:100%;height:100%;object-fit:cover}.model-photo+h3{margin-top:8px}.source:last-child:nth-child(odd){grid-column:1/-1}
.project-feature ul{margin:10px 0 0;padding-left:18px;color:var(--ink)}.project-feature li{margin-top:4px}@media(max-width:700px){.project-feature{display:block}.project-feature img{width:100%;height:190px;object-fit:contain;background:#f8f8f8}.project-feature div{padding:14px}}
.buy-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.buy-notes details{background:var(--raised);border:1px solid var(--line);padding:12px;border-radius:8px}.buy-notes summary{cursor:pointer;font-weight:700}.buy-notes p{color:var(--muted);margin:8px 0 0}@media(max-width:700px){.buy-notes{grid-template-columns:1fr}}
.compat-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:700px){.compat-fields{grid-template-columns:1fr}}
.proof-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:5px;font-size:12px}
.skip-link{position:absolute;z-index:10;top:-60px;left:12px;background:var(--amber);color:var(--bg);padding:8px;border-radius:8px}.skip-link:focus{top:8px}.build details,.source,.project-row{overflow-wrap:anywhere}h1,h2,h3{scroll-margin-top:12px}body{font-variant-numeric:tabular-nums}
.model-builds{color:var(--muted);margin:0 0 10px}.model-builds summary{cursor:pointer;font-weight:600}.model-builds ul{padding-left:18px;margin:7px 0}.model-builds li{margin:4px 0;overflow-wrap:anywhere}
.model-photo{height:135px;background:#101827}.model-photo img{object-fit:cover}.model button[disabled]{opacity:.65;cursor:not-allowed}.source-warning{color:#f3bf71!important}.source p{line-height:1.4}.source{align-items:start}.source>div{min-width:0}.piece-row{grid-template-columns:minmax(120px,2fr) minmax(120px,2fr) 90px 75px minmax(140px,1fr) 44px}@media(max-width:700px){.piece-row{grid-template-columns:1fr 1fr}.piece-row input[name=name],.piece-row input[name=url],.piece-row select[name=status]{grid-column:1/-1}.piece-row button{grid-column:2}.source:last-child:nth-child(odd){grid-column:auto}}

.model-photo[data-model="Milsub"] img{width:200%;max-width:none;transform:translateX(-50%);object-fit:cover}
