:root{--bg:#020a15;--panel:#071626;--panel2:#0a1d32;--line:#275777;--blue:#1493ff;--cyan:#62ccff;--text:#f8fbff;--muted:#a7bdd0;--gold:#d6af56;--red:#ff6070;--green:#2bd376}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 0,#0a294c 0,#020a15 45%,#01060d 100%);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.photo-page{width:min(1060px,100%);margin:auto;padding:calc(22px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) calc(55px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.photo-top{display:flex;align-items:center;gap:18px;margin-bottom:22px}.photo-top>a:first-child{color:#92cfff;text-decoration:none;font-weight:800}.photo-brand{margin-left:auto;width:min(330px,55vw)}.photo-brand img{display:block;width:100%;height:auto}.photo-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:24px;align-items:center;margin-bottom:20px;padding:clamp(24px,4vw,42px);border:1px solid rgba(56,143,210,.48);border-radius:24px;background:radial-gradient(circle at 100% 0,rgba(20,147,255,.17),transparent 37%),linear-gradient(155deg,#091d31,#04111e);box-shadow:0 26px 62px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.03)}.photo-hero:before,.photo-card:before{content:"";position:absolute;left:28px;right:28px;top:0;height:1px;background:linear-gradient(90deg,transparent,#6fd2ff,transparent)}.photo-hero span{color:#68caff;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.photo-hero h1{margin:11px 0 12px;font-size:clamp(34px,5.5vw,58px);line-height:1.05;letter-spacing:-.045em}.photo-hero p{margin:0;color:var(--muted);font-size:16px;line-height:1.72}.photo-steps{display:grid;gap:10px}.photo-step{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid rgba(53,125,178,.32);border-radius:14px;background:rgba(5,22,38,.7)}.photo-step b{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#0e7bd2,#07589d);box-shadow:0 0 22px rgba(20,147,255,.2)}.photo-step strong{display:block;font-size:14px}.photo-step small{display:block;margin-top:3px;color:#83a0b7;font-size:11px}.photo-card{position:relative;overflow:hidden;padding:clamp(20px,4vw,34px);border:1px solid rgba(56,143,210,.46);border-radius:24px;background:linear-gradient(155deg,rgba(8,26,44,.98),rgba(3,13,24,.99));box-shadow:0 28px 72px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.025)}.photo-card h2{margin:0 0 8px;font-size:clamp(24px,3.8vw,36px)}.photo-card>p{margin:0 0 20px;color:var(--muted);line-height:1.65}.photo-error{margin-bottom:16px;padding:14px 16px;border:1px solid rgba(255,91,109,.38);border-radius:14px;background:rgba(72,12,22,.35);color:#ffc6cc}.upload-zone{position:relative;display:grid;place-items:center;min-height:220px;padding:30px 20px;border:1px dashed rgba(83,181,246,.52);border-radius:20px;background:radial-gradient(circle at 50% 0,rgba(20,147,255,.12),transparent 55%),rgba(3,16,28,.58);text-align:center;transition:.24s}.upload-zone.is-dragging,.upload-zone:hover{border-color:#64caff;background-color:rgba(6,29,48,.72);box-shadow:0 0 0 3px rgba(20,147,255,.08) inset}.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-icon{width:76px;height:76px;display:grid;place-items:center;margin-bottom:14px;border:1px solid rgba(83,181,246,.4);border-radius:22px;background:linear-gradient(145deg,#0d3152,#071b2e);color:#65ccff;font-size:34px;box-shadow:0 18px 34px rgba(0,0,0,.24),0 0 26px rgba(20,147,255,.12)}.upload-zone strong{font-size:20px}.upload-zone span{margin-top:7px;color:#9ab1c4;font-size:13px}.upload-limit{margin-top:11px;color:#6f91aa;font-size:11px}.file-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:18px 0 10px}.file-toolbar strong{font-size:14px}.file-toolbar span{color:#86a4bb;font-size:12px}.photo-preview-grid,.shared-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.photo-preview-grid:empty{display:none}.preview-card{position:relative;overflow:hidden;min-height:220px;border:1px solid #295272;border-radius:16px;background:#061321;box-shadow:0 14px 30px rgba(0,0,0,.24)}.preview-card img{width:100%;height:180px;display:block;object-fit:cover;background:#030a12}.preview-card-info{padding:11px 12px 12px}.preview-card-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.preview-card-info small{display:block;margin-top:5px;color:#8ca7bb}.preview-remove{position:absolute;right:9px;top:9px;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:rgba(2,9,16,.86);color:#fff;font-size:20px;cursor:pointer;backdrop-filter:blur(10px)}.preview-remove:hover{border-color:#ff8290;color:#ffb2bb}.shared-preview-grid .preview-card{min-height:190px}.shared-preview-grid .preview-card img{height:190px}.shared-index{position:absolute;left:9px;top:9px;display:inline-flex;padding:6px 9px;border:1px solid rgba(94,195,255,.36);border-radius:999px;background:rgba(3,15,26,.8);color:#b8e9ff;font-size:10px;font-weight:900}.upload-progress{margin-top:16px;padding:14px;border:1px solid rgba(50,129,184,.32);border-radius:14px;background:rgba(4,18,31,.64)}.upload-progress[hidden]{display:none}.upload-progress-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;color:#bcd3e4;font-size:12px}.upload-track{height:8px;overflow:hidden;border-radius:8px;background:#102a42}.upload-track i{display:block;width:0;height:100%;border-radius:8px;background:linear-gradient(90deg,#0b83ed,#5dcbff);box-shadow:0 0 14px rgba(20,147,255,.3);transition:width .16s linear}.photo-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.photo-form label{display:grid;gap:7px;color:#e8f4fc;font-size:13px;font-weight:850}.photo-form .full{grid-column:1/-1}.photo-form input,.photo-form select,.photo-form textarea{width:100%;min-height:52px;padding:13px 14px;border:1px solid #355b78;border-radius:13px;background:#040f1c;color:#fff;font:inherit;font-size:16px;outline:none;transition:.2s}.photo-form textarea{min-height:135px;resize:vertical;line-height:1.6}.photo-form input:focus,.photo-form select:focus,.photo-form textarea:focus{border-color:#53bdff;box-shadow:0 0 0 3px rgba(20,147,255,.11)}.textarea-head{display:flex;justify-content:space-between;gap:10px}.char-count{color:#7497b1;font-size:11px;font-weight:700}.consent{grid-column:1/-1;display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;padding:13px 14px;border:1px solid rgba(57,124,173,.28);border-radius:13px;background:rgba(5,19,32,.62);color:#afc3d2!important;line-height:1.55}.consent input{width:auto;min-height:0;margin-top:3px}.consent a{color:#76ceff}.photo-submit{grid-column:1/-1;min-height:56px;border:1px solid #39aaff;border-radius:14px;background:linear-gradient(135deg,#087ff0,#116ee2);color:#fff;font:inherit;font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 14px 28px rgba(8,127,240,.25);transition:.22s}.photo-submit:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(8,127,240,.32)}.photo-submit:disabled{opacity:.6;cursor:wait;transform:none}.photo-note{margin-top:14px;padding:12px 14px;border-left:3px solid #3aaeff;border-radius:10px;background:rgba(8,29,47,.72);color:#8da9bd;font-size:12px;line-height:1.6}.project-result{margin:16px 0;padding:16px;border:1px solid rgba(61,151,215,.34);border-radius:14px;background:rgba(6,23,39,.68)}.project-result a{display:inline-flex;margin-top:9px;padding:12px 15px;border-radius:12px;background:#0e83e8;color:#fff;text-decoration:none;font-weight:900}@media(max-width:760px){.photo-page{padding-top:14px}.photo-top{align-items:flex-start}.photo-brand{display:none}.photo-hero{grid-template-columns:1fr;padding:24px 20px;border-radius:20px}.photo-card{padding:21px 15px 25px;border-radius:20px}.photo-preview-grid,.shared-preview-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory}.preview-card{min-width:82%;scroll-snap-align:start}.photo-form{grid-template-columns:1fr}.photo-form .full,.consent,.photo-submit{grid-column:auto}.file-toolbar{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.upload-zone,.photo-submit,.upload-track i{transition:none!important}}
