@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap');

:root{--paper:#f7f5ef;--ink:#23251f;--muted:#716f65;--line:#d7d4ca;--serif:'Italiana','Bodoni MT','Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a:focus-visible{outline-offset:6px}button:focus-visible,a:focus-visible{outline:2px solid var(--ink)}[hidden]{display:none!important}h1,h2,p,figure,dl,dd{margin:0}h1:focus{outline:none}.masthead{height:110px;margin:0 4.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{color:inherit;text-decoration:none;font-size:29px;letter-spacing:-1.5px;font-weight:500}.wordmark-dot{font-size:11px;vertical-align:top;margin-left:5px;letter-spacing:0}.edition,.eyebrow,.panel-top,.vertical-note,.landing-bottom,footer,.demo-note,.demo-tag,figcaption{font-size:10px;letter-spacing:1.7px;font-weight:500}.view{animation:arrive .8s ease both}.landing{display:grid;grid-template-columns:1.07fr 1fr;padding:40px 4.2% 0;gap:0 5%}.landing-copy{padding:64px 0 50px;align-self:center}.eyebrow{line-height:1.6}.landing h1{font-family:var(--serif);font-size:clamp(65px,6.6vw,108px);font-weight:400;line-height:1.04;letter-spacing:-3px;margin:36px 0 26px}em{font-family:Georgia,serif;font-weight:400;font-size:.89em}.intro{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:40px}.button{border:0;border-radius:0;min-height:58px;padding:0 27px;display:inline-flex;align-items:center;justify-content:space-between;gap:55px;cursor:pointer;font-size:10px;letter-spacing:1.7px;transition:background .25s,transform .25s}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#4b4d41;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.upload-note{font-size:8px;letter-spacing:1.3px;color:var(--muted);margin-top:17px}.error{font-size:12px;color:#914329;max-width:300px;margin-top:12px}.error:empty{display:none}.editorial-panel{position:relative;min-height:565px;overflow:hidden;background:#d9d3c7}.panel-top{position:absolute;z-index:2;top:26px;left:26px;right:26px;display:flex;justify-content:space-between;font-size:8px}.panel-bottom{position:absolute;z-index:2;bottom:27px;left:28px;right:26px;display:flex;justify-content:space-between;align-items:end}.panel-bottom>span:first-child{font-family:var(--serif);font-size:35px;line-height:1.1}.vertical-note{writing-mode:vertical-rl;font-size:8px}.sculpture{position:absolute;inset:0;background:radial-gradient(ellipse at 15% 20%,#eae5da 0,transparent 60%),linear-gradient(120deg,#d9d2c3,#bcb3a2)}.form{position:absolute;background:linear-gradient(100deg,#b6ad9c 0%,#e5decd 30%,#e8e1d3 45%,#a59b85 85%,#7e7462 100%);box-shadow:inset -10px -10px 30px #877c6240,12px 20px 30px #5b523329;transform:rotate(-23deg)}.form-one{width:49%;height:57%;left:32%;top:9%;border-radius:48% 48% 42% 42%;transform:rotate(-29deg)}.form-two{width:49%;height:51%;left:18%;top:41%;border-radius:50% 49% 25% 30%;transform:rotate(27deg);background:linear-gradient(100deg,#a79d87,#e4ddcf 39%,#b5aa94 80%,#8c806c)}.form-three{width:20%;height:58%;left:66%;top:20%;border-radius:50%;transform:rotate(-31deg);background:linear-gradient(100deg,#a89d87,#d9d0bc 55%,#b4a993)}.form-four{width:28%;height:34%;left:29%;top:70%;border-radius:50% 50% 0 0;transform:rotate(16deg)}.sculpture-shadow{position:absolute;width:65%;height:10%;background:#675e47;filter:blur(27px);opacity:.35;bottom:2%;left:23%}.drop-overlay{position:absolute;inset:0;background:#23251fe8;color:var(--paper);display:flex;align-items:center;justify-content:center;letter-spacing:2px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s}.dragging .drop-overlay{opacity:1}.landing-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:29px 0 38px;font-size:8px;color:var(--muted)}footer{margin:0 4.2%;padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:8px;color:var(--muted)}footer>span:first-child{color:var(--ink)}.analysing{min-height:calc(100vh - 180px);padding:45px 20px;text-align:center}.analysis-image-wrap{width:200px;height:250px;margin:0 auto 28px;position:relative;overflow:hidden;background:#e4dfd5}.analysis-image-wrap img{width:100%;height:100%;object-fit:contain}.scan-line{position:absolute;left:0;right:0;height:1px;background:#f7f5ef;box-shadow:0 0 20px #fff;animation:scan 1.9s ease-in-out infinite}.analysing h1{font-family:var(--serif);font-size:60px;font-weight:400;margin:15px 0}.analysis-status{font-size:12px;color:var(--muted)}.demo-note{display:block;font-size:8px;margin-top:28px;color:var(--muted)}.results{max-width:1440px;margin:auto;padding:36px 6.5% 0}.results-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.demo-tag{font-size:8px;color:var(--muted)}.reveal-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}.result-photo{align-self:start}.result-photo img{display:block;width:100%;height:570px;object-fit:contain;background:#e6e1d7}.result-photo figcaption{display:flex;justify-content:space-between;font-size:8px;margin-top:15px}.score{font-family:var(--serif);font-size:clamp(130px,15vw,220px);line-height:.86;font-weight:400;letter-spacing:-8px}.score-denominator{font-family:var(--serif);font-size:34px;letter-spacing:-1px;margin-left:18px;white-space:nowrap}.score-label{display:block;font-family:var(--sans);font-size:10px;letter-spacing:3px;margin:24px 0 34px;line-height:1.5}.verdict{font-family:var(--serif);font-size:38px;line-height:1.2}.sample-caption{font-size:10px;line-height:1.8;color:var(--muted);margin-top:16px}.metrics{margin-top:31px}.metrics>div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:17px 0}.metrics dt{text-transform:uppercase;font-size:9px;letter-spacing:1.8px}.metrics dd{font-family:var(--serif);font-size:25px}.result-notes{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:65px 0;border-bottom:1px solid var(--line);margin-top:24px}.explanation{font-size:15px;line-height:1.9;margin-top:20px;max-width:440px;color:#5c5d53}.strongest>p{font-family:var(--serif);font-size:46px;margin-top:16px}.strongest>span{display:block;font-size:11px;color:var(--muted);margin-top:13px;line-height:1.7}.restart{padding:55px 0 65px;display:flex;justify-content:space-between;align-items:center;gap:30px}.restart>p{font-family:var(--serif);font-size:36px;line-height:1.2}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scan{from{top:0}to{top:100%}}
@media(min-width:1600px){.landing{max-width:1700px;margin:auto}.editorial-panel{min-height:680px}}
@media(max-width:800px){.masthead{height:85px;margin:0 6%}.wordmark{font-size:24px}.edition{font-size:7px;max-width:95px;text-align:right;line-height:1.7}.landing{padding:0 6%;grid-template-columns:1fr}.landing-copy{padding:50px 0 40px}.landing h1{font-size:clamp(62px,12vw,94px);margin:24px 0;letter-spacing:-2px}.intro{margin-bottom:28px}.editorial-panel{min-height:390px}.sculpture{inset:-70px 0 -120px 0}.landing-bottom{gap:25px;font-size:7px;line-height:1.8;padding:23px 0}.landing-bottom span:last-child{max-width:180px;text-align:right}footer{margin:0 6%;font-size:7px;gap:20px}footer span:nth-child(2){display:none}.results{padding:29px 6% 0}.results-intro{margin-bottom:25px}.eyebrow{font-size:9px}.demo-tag{font-size:7px}.reveal-grid{gap:35px;grid-template-columns:1fr}.result-photo img{height:420px;max-height:65vh}.score-block{padding-top:10px}.score{font-size:160px}.score-denominator{font-size:30px}.score-label{margin:20px 0 25px}.verdict{font-size:36px}.metrics{margin-top:24px}.result-notes{grid-template-columns:1fr;padding:38px 0;gap:35px;margin-top:0}.restart{align-items:start;flex-direction:column;padding:35px 0 45px}.restart>p{font-size:32px}.analysing h1{font-size:48px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.scan-line{display:none}}

/* Detection-only additions; existing editorial views remain unchanged. */
.no-subject{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 180px);padding:70px 6%}.no-subject h1{font-size:clamp(32px,5vw,60px);letter-spacing:-1px;margin-bottom:24px}.detection-debug{margin:0 6.5% 28px;color:var(--muted);font-size:10px;line-height:1.8}.detection-debug summary{cursor:pointer;font-size:8px;letter-spacing:1.7px;padding:12px 0}.detection-debug dl{max-width:650px;padding:10px 0}.detection-debug dl>div{display:grid;grid-template-columns:175px 1fr;gap:15px;padding:4px 0}.detection-debug p{max-width:650px;font-size:9px}.detection-debug summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}@media(max-width:480px){.detection-debug dl>div{grid-template-columns:125px 1fr}}


/* Optional region data remains inside the existing collapsed debug panel. */
.region-debug-label{margin-top:18px;letter-spacing:1.2px}.region-debug-data{max-width:850px;max-height:520px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:10px/1.7 monospace;margin:12px 0 0}

.body-feedback{margin:0 0 28px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.body-feedback label{display:block;font-size:12px;margin-bottom:12px}.feedback-controls{display:flex;flex-wrap:wrap;gap:12px}.feedback-controls input{width:110px;min-height:48px;padding:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:20px var(--sans)}.feedback-controls .button{min-height:48px;padding:14px 20px}.body-feedback p{font-size:11px;line-height:1.7;margin-top:10px;color:var(--muted)}.body-feedback a{color:inherit;text-decoration:underline}.feedback-controls input:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.feedback-controls button:disabled{opacity:.6;cursor:wait}
