@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f4f0e6;--ink:#242822;--muted:#6f756b;--line:#dcd9cf;--green:#295b48;--green-dark:#183f31;--white:#fffdf8;--gold:#c9a361}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;min-height:100vh}.shell{max-width:1100px;width:calc(100% - 48px);margin:0 auto;padding:25px 0 24px}.topbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:800 16px Manrope,sans-serif;letter-spacing:-.4px}.brand i{font-weight:500;color:var(--muted);font-style:normal}.brand-mark{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font:700 14px Georgia,serif}.language{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted)}select{border:1px solid var(--line);background:var(--white);border-radius:9px;padding:8px 10px;color:var(--ink);font:600 11px 'DM Sans',sans-serif}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;padding:62px 0 58px}.intro-copy{max-width:590px}.kicker{margin:0 0 13px;font-size:10px;font-weight:800;letter-spacing:2px;color:var(--green)}h1,h2{font-family:Manrope,sans-serif;letter-spacing:-1.7px}h1{font-size:clamp(36px,5vw,57px);line-height:1.06;margin:0 0 18px;max-width:560px}h2{font-size:34px;line-height:1.1;margin:0}.lead{max-width:490px;color:#596056;font-size:15px;line-height:1.75;margin:0}.steps{margin:26px 0 22px;border-top:1px solid var(--line);max-width:480px}.steps div{display:flex;gap:17px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;color:#50574e}.steps b{font:700 10px 'DM Sans',sans-serif;color:var(--gold);letter-spacing:1px}.primary,.quiet{border:0;border-radius:10px;min-height:48px;padding:0 18px;font:700 12px 'DM Sans',sans-serif;cursor:pointer}.primary{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--green);color:white;transition:background .15s,transform .15s}.primary:hover{background:var(--green-dark);transform:translateY(-1px)}.primary span:last-child{font-size:18px}.quiet{background:transparent;color:var(--green);border:1px solid #bdc8bf}.quiet:hover{background:#eae9df}.intro-art{height:330px;position:relative;display:grid;place-items:center;background:#e7e4d7;border-radius:48% 52% 45% 55%/51% 44% 56% 49%;overflow:hidden}.intro-art:before{content:"";position:absolute;width:260px;height:260px;border:1px solid #c8c8b8;border-radius:50%}.swatch-orbit{position:absolute;width:94px;height:132px;border-radius:48px 48px 12px 12px;border:6px solid var(--paper);box-shadow:0 12px 26px #3332}.orbit-one{background:#d96750;transform:translate(-69px,-38px) rotate(-18deg)}.orbit-two{background:#78a65d;transform:translate(40px,-20px) rotate(7deg)}.orbit-three{background:#638ec1;transform:translate(0,79px) rotate(19deg)}.art-caption{position:absolute;bottom:27px;font-size:9px;letter-spacing:2px;font-weight:700;color:#71766c}
#startForm{max-width:420px;display:grid;gap:8px}.name-label{font-size:12px;font-weight:700;color:#39443b}.name-label:after{content:" *";color:#a64f36}.name-label{display:block}input[type=text]{width:100%;min-height:46px;padding:0 13px;border:1px solid #c8c9bd;border-radius:9px;background:var(--white);color:var(--ink);font:500 13px 'DM Sans',sans-serif}input[type=text]:focus{outline:3px solid #295b4833;border-color:var(--green)}input[aria-invalid=true]{border-color:#ae4b3c}.field-error{min-height:0;margin:0;color:#a33d30;font-size:11px}.field-error:empty{display:none}.hidden{display:none!important}
.test-view,.result-view{padding:44px 0 55px;max-width:1000px;margin:auto}.test-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.test-head .kicker{margin-bottom:8px}.tester-line{margin:9px 0 0;color:var(--muted);font-size:12px}.tester-line strong{color:var(--ink)}.instruction{display:flex;gap:12px;align-items:center;background:#e7e9dd;padding:12px 15px;border-radius:11px;color:#4f594f;font-size:12px;line-height:1.5;margin-bottom:15px}.instruction-icon{font-size:19px;color:var(--green)}.tray-list{display:grid;gap:14px}.tray{padding:12px 0 9px;border-bottom:1px solid var(--line)}.tray-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.tray-label{font-size:9px;font-weight:800;letter-spacing:1.7px;color:var(--green)}.tray-count{font:700 9px 'DM Sans',sans-serif;color:#92958b;letter-spacing:1px}.tray-rail{overflow-x:auto;padding:4px 4px 8px;scrollbar-color:#b9b9aa transparent;scrollbar-width:thin}.tile-grid{display:flex;gap:7px;min-width:max-content;align-items:end}.color-tile{flex:0 0 clamp(48px,6.2vw,72px);height:82px;border:2px solid transparent;border-radius:5px 5px 8px 8px;padding:6px 4px;display:flex;flex-direction:column;justify-content:end;align-items:center;cursor:grab;box-shadow:0 3px 7px #3332;transition:transform .14s,border .14s,box-shadow .14s;touch-action:manipulation}.color-tile:hover{transform:translateY(-3px)}.color-tile:active{cursor:grabbing}.color-tile.selected{border-color:#20251f;box-shadow:0 0 0 2px var(--white),0 0 0 4px #20251f;transform:translateY(-5px)}.color-tile.dragging{opacity:.35}.color-tile:focus-visible{outline:3px solid var(--green);outline-offset:3px}.tile-index{font-size:9px;font-weight:800;color:#1e251f;background:#ffffffbf;border-radius:99px;min-width:20px;padding:3px 5px}.color-tile.anchor{cursor:default;box-shadow:none;border-color:#ffffff80}.color-tile.anchor:hover{transform:none}.scale-labels{display:flex;justify-content:space-between;padding:0 2px;margin-top:2px;font-size:7px;font-weight:800;letter-spacing:1.3px;color:#85897e}.test-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:21px;padding-top:16px}.selection-hint{font-size:12px;color:var(--muted);margin:0}.result-view{max-width:690px;text-align:center;padding-top:55px}.result-view .kicker{margin-bottom:10px}.result-name{font-size:16px;font-weight:700;color:var(--green);margin:0 0 7px}.result-view h2{font-size:clamp(34px,5vw,48px)}.result-summary{font-size:14px;line-height:1.7;color:#62695f;max-width:540px;margin:14px auto 23px}.score-panel{display:flex;justify-content:space-between;align-items:center;text-align:left;gap:20px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:12px}.score-primary{display:grid;gap:4px}.score-primary>span,.accuracy-block>span{font-size:12px;color:var(--muted)}.score-primary strong{font:800 43px Manrope,sans-serif;color:var(--green);line-height:1.05}.score-primary small{font-size:10px;color:#84897f}.accuracy-block{text-align:right;display:grid;gap:3px}.accuracy-block strong{font:800 27px Manrope,sans-serif;color:var(--ink)}.tray-scores{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 15px}.tray-scores span{background:#e7e9dd;border-radius:8px;padding:11px 7px;color:#4c584d;font-size:10px;font-weight:700}.result-note{text-align:left;background:#ebe9dd;border-radius:13px;padding:17px 19px;margin:15px 0 24px}.result-note strong{font-size:11px;color:var(--green)}.result-note p{font-size:11px;line-height:1.7;color:#63695f;margin:6px 0 0}.result-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}.spectrum-panel,.evaluation-panel{background:var(--white);border:1px solid var(--line);border-radius:13px;padding:18px 20px;margin:13px 0;text-align:left}.spectrum-heading h3,.evaluation-panel h3,.colorlite-card h3{font:700 14px Manrope,sans-serif;color:var(--ink);margin:0 0 5px}.spectrum-heading p{font-size:11px;line-height:1.55;color:var(--muted);margin:0 0 15px}.spectrum-map{display:grid;gap:9px}.spectrum-row{display:grid;grid-template-columns:78px 1fr auto;gap:12px;align-items:center}.spectrum-row-label{font-size:8px;letter-spacing:1px;font-weight:800;color:var(--muted)}.spectrum-band{height:14px;border-radius:99px;display:block}.spectrum-error-count{font:700 10px 'DM Sans',sans-serif;color:var(--ink);min-width:54px;text-align:right}.evaluation-panel h3{margin-bottom:10px}.evaluation-panel ul{margin:0;padding-left:18px;display:grid;gap:6px}.evaluation-panel li{font-size:11px;line-height:1.5;color:#50574e}.result-disclaimer{font-size:10px;line-height:1.65;color:#6a6e64;border-top:1px solid var(--line);margin:13px 0 0;padding-top:11px}.colorlite-card{text-align:left;background:#ebe9dd;border-radius:13px;padding:18px 20px;margin:14px 0 22px}.promo-eyebrow{font-size:8px;letter-spacing:1.5px;color:var(--green);font-weight:800;margin:0 0 7px}.colorlite-card h3{margin:0 0 8px}.colorlite-card>p:not(.promo-eyebrow){font-size:11px;line-height:1.65;color:#555d52;margin:0 0 10px}.colorlite-card a{font-size:11px;color:var(--green-dark);font-weight:700;text-decoration-thickness:1px;text-underline-offset:3px}.colorlite-card a:hover{color:#a05b39}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;color:#888b82;font-size:9px;letter-spacing:.4px}
@media(max-width:760px){.shell{width:calc(100% - 32px);padding-top:16px}.intro{grid-template-columns:1fr;gap:25px;padding:36px 0}.intro-art{height:210px;grid-row:1}.intro-copy{grid-row:2}.orbit-one,.orbit-two,.orbit-three{scale:.78}.test-view,.result-view{padding:30px 0}.test-head{align-items:start;gap:10px}.test-head h2{font-size:28px}.test-head .quiet{min-height:40px;padding:0 10px;font-size:10px}.tray-list{gap:10px}.tray{padding:9px 0 7px}.color-tile{flex-basis:52px;height:73px}.test-footer{align-items:flex-start;flex-direction:column;gap:12px}.test-footer .primary{width:100%}.tray-scores{grid-template-columns:repeat(2,1fr)}.score-panel{padding:17px 15px}.score-primary strong{font-size:36px}.accuracy-block strong{font-size:23px}footer{font-size:8px;gap:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
.result-date{margin:0 0 18px;color:var(--muted);font-size:11px}
.pdf-status{min-height:16px;margin:8px 0 0;color:var(--muted);font-size:11px}
.result-actions button:disabled{opacity:.55;cursor:wait}
.pdf-brand{display:none}
@media print{
  @page{size:A4;margin:11mm}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body{min-height:auto;background:#fff;color:#20251f;font-size:11pt}
  .shell{width:100%;max-width:none;margin:0;padding:0}
  .topbar,#intro,#test,footer,.result-actions{display:none!important}
  .pdf-status{display:none!important}
  #results:not(.hidden){display:block!important;max-width:none;margin:0;padding:0;text-align:left}
  .pdf-brand{display:flex;align-items:center;gap:9px;padding:0 0 9px;border-bottom:1px solid #d3d3d3;margin:0 0 14px;font:800 12pt Manrope,sans-serif;letter-spacing:.4px}
  .pdf-brand-mark{width:26px;height:26px;border:1px solid #242822;border-radius:50%;display:grid;place-items:center;font:700 12pt Georgia,serif}
  .result-view .kicker{text-align:center;margin-bottom:6px}
  .result-name{font-size:16pt;text-align:center;margin:0 0 4px}
  .result-date{text-align:center;margin:0 0 8px;font-size:9pt}
  .result-view h2{font-size:23pt;letter-spacing:-.5px;text-align:center}
  .result-summary{max-width:none;margin:7px 0 11px;text-align:center;font-size:10pt}
  .score-panel,.spectrum-panel,.evaluation-panel,.colorlite-card{break-inside:avoid;background:#fff;border-color:#cfcfcf;margin:8px 0;padding:11px 13px}
  .score-primary strong{font-size:30pt}
  .accuracy-block strong{font-size:21pt}
  .spectrum-heading h3,.evaluation-panel h3,.colorlite-card h3{font-size:11pt}
  .spectrum-heading p,.evaluation-panel li,.colorlite-card>p:not(.promo-eyebrow){font-size:8pt}
  .spectrum-map{gap:7px}
  .colorlite-card{border-radius:0}
  .promo-eyebrow,.colorlite-card a{font-size:8pt}
  .result-view:after{content:"MUNSELL HUE TEST · Tự kiểm tra · Không phải chẩn đoán y khoa";display:block;border-top:1px solid #d3d3d3;padding-top:8px;margin-top:8px;color:#62695f;font-size:8pt}
}
