:root{--ink:#252e26;--muted:#74796e;--paper:#f8f7f2;--lime:#d3ed8a;--line:#dedfd5;--green:#436140}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #728a43;outline-offset:4px}[hidden]{display:none!important}header{max-width:1320px;margin:auto;height:102px;display:flex;align-items:center;justify-content:space-between;padding:0 50px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:23px;letter-spacing:-1px;font-weight:700}.brand-mark{width:35px;height:35px;background:var(--ink);color:var(--lime);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:27px;font-family:Georgia}.brand-mark span{font-size:22px}.brand-dot{font-size:15px;align-self:flex-start;margin-top:5px;margin-left:-5px}.header-note{color:var(--muted);font-size:15px}.nav-link{font-size:15px;display:flex;gap:24px}.nav-link span{font-size:20px}main{max-width:1220px;margin:auto}.hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:560px;padding:48px 0 54px;gap:65px;align-items:center}.eyebrow{font-size:13px;letter-spacing:1.7px;font-weight:600;display:flex;align-items:center;gap:9px}.green-dot{height:7px;width:7px;border-radius:50%;background:#728e48}.hero h1{font-size:82px;letter-spacing:-5px;line-height:1.01;margin:27px 0 24px;font-weight:500}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#587243}.hero-copy>p{font-size:18px;line-height:1.75;color:#6a7165;max-width:410px}.primary{border:0;background:var(--lime);color:var(--ink);padding:19px 23px;display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:600;border-radius:5px;transition:background .2s,transform .2s}.primary:hover:not(:disabled){background:#c1df73;transform:translateY(-1px)}.primary span{font-size:21px;line-height:15px}.hero-button{width:240px;margin-top:28px}.hero-foot{display:flex;gap:27px;font-size:11px;letter-spacing:1px;color:var(--muted);margin-top:40px}.hero-art{height:490px;background:#e6e9da;position:relative;border-radius:5px;overflow:hidden}.hero-art>img{width:100%;height:100%;object-fit:contain;padding:13px 20px}.art-top{position:absolute;top:20px;left:21px;right:21px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;z-index:1}.art-caption{position:absolute;bottom:20px;left:21px;font-size:11px;letter-spacing:1.4px}.art-stamp{position:absolute;right:16px;bottom:18px;border-radius:50%;width:94px;height:94px;background:var(--lime);transform:rotate(12deg);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:15px;line-height:1.2;font-family:Georgia;font-style:italic}.art-stamp span{font-style:normal;font-size:26px;margin-top:3px}.workspace{border-top:1px solid var(--line);padding:49px 0 60px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:27px;gap:20px}h2{font-weight:500;font-size:31px;letter-spacing:-1.2px;margin:13px 0 0}.step-note{font-size:11px;color:var(--muted);letter-spacing:1px;margin-bottom:5px}.studio-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:start}.upload-card,.results-card{border:1px solid var(--line);border-radius:7px;background:#fffefa;padding:26px}.card-heading{display:flex;align-items:center;gap:10px;margin-bottom:25px}.card-heading h3{font-size:16px;margin:0;font-weight:500}.number{width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:12px}.small-tag{margin-left:auto;font-size:10px;letter-spacing:.8px;color:var(--muted)}.drop-zone{border:1px dashed #bcc5ad;border-radius:5px;min-height:280px;background:#f7f8f1;text-align:center;display:grid;place-items:center;overflow:hidden}.drop-zone.dragging{background:#e8f2cf;border-color:var(--green)}#empty-upload{padding:28px 12px}.upload-icon{font-size:28px;color:var(--green);margin-bottom:15px}h4{font-size:18px;letter-spacing:-.3px;font-weight:500;margin:0 0 10px}.drop-zone p{font-size:14px;color:var(--muted);margin-bottom:20px}.dark-button{background:var(--ink);color:white;border:0;border-radius:4px;padding:13px 22px;font-size:14px}.dark-button span{margin-left:20px}.camera-button{display:block;border:0;background:none;margin:14px auto;color:var(--green);font-size:14px}.camera-button span{font-size:17px;vertical-align:middle;margin-right:5px}.file-hint{display:block;color:#89907e;font-size:12px}.field-label{display:block;font-size:14px;margin:25px 0 11px}.field-label>span{color:var(--muted);font-size:13px;margin-left:6px}.stage-options{display:flex;gap:8px}.stage-options label{flex:1;cursor:pointer;position:relative}.stage-options input{position:absolute;opacity:0}.stage-options span{border:1px solid var(--line);border-radius:4px;padding:12px 6px;display:block;text-align:center;font-size:14px}.stage-options input:checked+span{background:#eef3e3;border-color:#90a773;color:#3c5c34}.stage-options input:focus-visible+span{outline:3px solid #728a43;outline-offset:3px}textarea{width:100%;resize:vertical;min-height:85px;border:1px solid var(--line);border-radius:4px;background:#fffefa;padding:14px;font:14px/1.7 Arial;color:var(--ink)}textarea::placeholder{color:#93978b}.privacy-note{display:flex;gap:10px;margin:14px 0;color:#838879}.privacy-note span{font-size:16px;padding-top:8px}.privacy-note p{font-size:12px;line-height:1.7;margin:6px 0}.rate-button{width:100%;margin-top:14px}.rate-button:disabled{opacity:.5;cursor:not-allowed}.connection{font-size:13px;line-height:1.6;color:#6f795b}.connection.offline{background:#f6eedc;color:#7f6332;padding:10px 12px;border-radius:4px}.error{color:#a13628;font-size:15px;line-height:1.6}.results-card{background:#eef0e6;min-height:735px}.result-empty{text-align:center;padding:23px 20px}.orbit{position:relative;width:124px;height:124px;border:1px solid #c7cfb7;border-radius:50%;display:grid;place-items:center;margin:6px auto 30px}.orbit:before{content:'';position:absolute;inset:14px;border:1px dashed #c7cfb7;border-radius:50%}.orbit>span{font-size:67px;color:#8caa61;font-weight:300}.orbit-dot{position:absolute;top:12px;right:12px;background:#adc779;width:11px;height:11px;border-radius:50%}.result-empty h3{font-size:30px;font-family:Georgia;font-weight:400;line-height:1.2;margin:15px 0 18px;letter-spacing:-.6px}.result-empty>p{color:var(--muted);font-size:15px;line-height:1.8;max-width:270px;margin:0 auto}.empty-score{margin:30px 0 23px;display:flex;align-items:baseline;justify-content:center;gap:8px}.empty-score span:first-child{font-family:Georgia;font-size:55px;color:#a8b595}.empty-score span:last-child{font-size:15px;color:var(--muted)}.empty-criteria{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:310px;margin:auto}.empty-criteria span{border:1px solid #d6ddca;border-radius:20px;padding:9px;font-size:13px;color:#7c876e}.result-empty .result-foot{margin-top:48px;font-size:13px;color:#909881}.rubric{padding:0 0 55px}.rubric .section-heading>p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.rubric-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}.rubric-grid article{padding:0 25px;border-right:1px solid var(--line)}.rubric-grid article:first-child{padding-left:0}.rubric-grid article:last-child{border:0}.rubric-grid article>span{font-size:13px;color:#73805d;letter-spacing:2px}.rubric-grid h3{font-size:18px;font-weight:500;margin-top:20px}.rubric-grid p{font-size:14px;line-height:1.9;color:var(--muted);max-width:210px}.rubric-disclaimer{font-size:13px;color:var(--muted);line-height:1.8;max-width:750px;margin-top:18px}footer{border-top:1px solid var(--line);padding:30px 50px;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1320px;margin:auto}footer>.brand{font-size:18px}footer>span{font-size:11px;letter-spacing:1.3px;color:var(--muted)}footer>p{font-family:Georgia;font-style:italic;font-size:16px}#photo-preview{width:100%}#preview{max-height:300px;max-width:100%;object-fit:contain;display:block;margin:auto}.preview-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;font-size:13px;background:white}.preview-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-bar button,.text-button{border:0;background:none;color:var(--green);font-size:14px;white-space:nowrap}.camera-panel{margin-top:12px}.camera-panel video{width:100%;max-height:300px;background:var(--ink);border-radius:5px}.camera-panel>div{display:flex;gap:15px;margin-top:10px}.result-loading{text-align:center;padding:120px 10px}.result-loading h3{font-family:Georgia;font-weight:400;font-size:25px}.result-loading p{font-size:15px;line-height:1.8;color:var(--muted)}.spinner{height:52px;width:52px;border:2px solid #d1dbc2;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.result-overline{font-size:12px;letter-spacing:1.5px;color:var(--green);margin:20px 0 0}.score-line{display:flex;align-items:baseline;gap:10px;margin:6px 0 15px}.score-line strong{font-family:Georgia;font-size:87px;font-weight:400;letter-spacing:-5px;color:#44613a}.score-line span{font-size:16px;color:var(--muted)}.result-summary{font-size:15px;line-height:1.8}.rating-row{margin:22px 0}.rating-title{display:flex;justify-content:space-between;font-size:15px}.rating-title b{font-weight:500}.meter{height:4px;background:#dce2d2;border-radius:3px;margin:9px 0}.meter>progress{display:block;width:100%;height:4px;accent-color:#799552}.meter progress::-webkit-progress-bar{background:#dce2d2}.meter progress::-webkit-progress-value{background:#799552}.rating-row p{font-size:14px;line-height:1.7;color:#68725f}.feedback-block{border-top:1px solid #d3dac8;margin-top:23px;padding-top:14px}.feedback-block h4{font-size:15px}.feedback-block ul{padding-left:17px;font-size:14px;line-height:1.8;color:#5c6853}.limits{font-size:13px;line-height:1.8;color:#78816d;margin-top:20px}.result-actions{display:flex;gap:15px;margin-top:22px}.result-actions button{font-size:14px}.result-label{font-size:12px;letter-spacing:1px;color:var(--muted)}
@media(min-width:1500px){.hero{padding-top:65px;padding-bottom:70px}}@media(max-width:1320px){main{margin:0 50px}.hero{gap:35px}.hero h1{font-size:74px}.hero-art{height:460px}.small-tag{font-size:10px}}@media(max-width:900px){header{padding:0 28px;height:80px}.header-note{display:none}main{margin:0 28px}.hero{gap:25px;min-height:470px}.hero h1{font-size:60px;letter-spacing:-3px}.hero-art{height:390px}.hero-copy>p{font-size:16px}.hero-foot{gap:15px;font-size:10px}.studio-grid{grid-template-columns:1fr 1fr;gap:15px}.upload-card,.results-card{padding:18px}.small-tag{display:none}.results-card{min-height:720px}.stage-options{gap:4px}.stage-options span{font-size:12px}.section-heading h2{font-size:26px}.step-note{display:none}.result-empty{padding:25px 0}.rubric-grid article{padding:0 15px}footer{padding:25px 28px}}@media(max-width:640px){header{height:76px;padding:0 22px}.brand{font-size:20px}.nav-link{font-size:14px;gap:12px}main{margin:0 22px}.hero{grid-template-columns:1fr;padding:38px 0;gap:30px}.hero h1{font-size:68px;margin-top:22px}.hero-copy>p{max-width:340px;font-size:16px}.hero-foot{font-size:10px;gap:23px;margin-top:27px}.hero-art{height:345px}.hero-art>img{padding:0}.art-stamp{width:76px;height:76px;font-size:13px}.workspace{padding-top:35px}.section-heading{align-items:start;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:1.3px}h2,.section-heading h2{font-size:26px;line-height:1.2;max-width:290px}.studio-grid{grid-template-columns:1fr;gap:20px}.upload-card,.results-card{padding:21px}.results-card{min-height:610px}.stage-options span{font-size:14px}.result-empty{padding-top:12px}.result-empty .result-foot{margin-top:30px}.rubric .section-heading{display:block}.rubric .section-heading>p{margin-top:15px}.rubric-grid{grid-template-columns:1fr 1fr;gap:25px 0}.rubric-grid article{padding:0 15px}.rubric-grid article:nth-child(odd){padding-left:0}.rubric-grid article:nth-child(even){border:0}.rubric-grid h3{font-size:16px}.rubric-grid p{font-size:14px}.rubric{padding-bottom:25px}footer{flex-wrap:wrap;padding:24px 22px}footer>span{font-size:10px}footer>p{width:100%;margin:0;font-size:15px}.privacy-note p{font-size:13px}.file-hint{font-size:13px}.result-loading{padding:100px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}@media print{header,.hero,.upload-card,.rubric,footer,.section-heading,.result-actions{display:none!important}main{margin:0}.studio-grid{display:block}.results-card{border:0;background:white}.results-card .small-tag{display:block}}

/* Keep enlarged labels comfortable on narrow screens. */
.hero-foot{flex-wrap:wrap;row-gap:10px}.small-tag{max-width:48%;text-align:right;line-height:1.5}.field-label{line-height:1.5}.stage-options span{line-height:1.5}.preview-bar{min-width:0}.empty-criteria span{line-height:1.5}@media(max-width:900px){.stage-options{flex-wrap:wrap}.stage-options label{flex:1 1 100px}.card-heading{flex-wrap:wrap}}@media(max-width:640px){.hero-foot{gap:12px}.eyebrow{line-height:1.6}.nav-link{gap:8px}.rubric-grid{grid-template-columns:1fr}.rubric-grid article{padding:0;border-right:0}.rubric-grid p{max-width:none}.empty-criteria{gap:8px}}

.auto-stage-note{font-size:14px;line-height:1.7;color:var(--green);margin:20px 0}.detected-stage{border:1px solid #ccd6bc;border-radius:5px;padding:13px 15px;margin:16px 0}.detected-stage strong{font-size:14px;font-weight:600}.detected-stage p{font-size:13px;line-height:1.7;color:#68725f;margin:8px 0 0}

.score-guide{border:1px solid var(--line);border-radius:5px;padding:20px;margin-top:24px}.score-guide h3{font-size:16px;font-weight:500;margin:0 0 10px}.score-guide p{font-size:14px;line-height:1.8;color:var(--muted);margin:10px 0}.score-guide dl{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.score-guide dt{font-size:16px;color:var(--green);font-weight:600}.score-guide dd{font-size:13px;line-height:1.6;margin:5px 0 0;color:var(--muted)}@media(max-width:640px){.score-guide dl{grid-template-columns:repeat(2,1fr)}}
