:root{--paper: #FAF1E5;--soft: #FBE5DA;--ink: #1F1B22;--text: #3A3540;--text-light: #6E6677;--rule: #E8DBC9;--pink: #E66B85;--pink-deep: #C24B68;--coral: #F2A682;--amber: #F0CC78;--mint: #82CFB2;--teal: #5AB6CC;--white: #FFFFFF}:root[data-theme=dark]{--paper: #1A1410;--soft: #251C16;--ink: #F2EBDD;--text: #DFD7C6;--text-light: #9A9082;--rule: #2C2620;--white: #1F1A14}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:DM Sans,system-ui,sans-serif;background:var(--paper);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit}.rr-divider{display:flex;height:4px}.rr-divider span{flex:1}.rr-divider .d1{background:var(--pink)}.rr-divider .d2{background:var(--amber)}.rr-divider .d3{background:var(--teal)}.topbar{max-width:920px;margin:0 auto;padding:24px 24px 12px;display:flex;justify-content:space-between;align-items:center}.brand-mark{font-family:Big Shoulders Display,sans-serif;font-weight:800;font-size:18px;color:var(--ink);text-transform:uppercase;text-decoration:none;letter-spacing:-.005em}.brand-mark .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7ac7e0;margin:0 4px;vertical-align:middle}.topbar-right{display:inline-flex;align-items:center;gap:14px}.topbar a.back{font-family:DM Sans,sans-serif;font-size:11px;color:var(--text-light);text-decoration:none;letter-spacing:.06em;text-transform:uppercase;font-weight:600}.topbar a.back:hover{color:var(--ink)}.theme-toggle{background:transparent;border:1px solid var(--rule);color:var(--text-light);width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.theme-toggle:hover{color:var(--ink);border-color:var(--text-light);background:var(--soft)}:root:not([data-theme=dark]) .theme-icon-sun{display:none}:root[data-theme=dark] .theme-icon-moon{display:none}main{max-width:760px;margin:0 auto;padding:24px 24px 80px}.eyebrow{font-family:DM Sans,sans-serif;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--pink-deep);margin-bottom:14px}.eyebrow:before{content:"✻";margin-right:6px}h1{font-family:Fraunces,Georgia,serif;font-weight:900;font-size:clamp(36px,5.5vw,56px);line-height:1.04;letter-spacing:-.02em;color:var(--ink);margin-bottom:18px}h1 em{font-style:italic;font-weight:700}p.lead{font-family:Fraunces,Georgia,serif;font-size:19px;line-height:1.55;color:var(--text);margin-bottom:32px}.progress{position:sticky;top:0;z-index:50;background:var(--paper);padding:12px 0 14px;border-bottom:1px solid var(--rule);margin-bottom:24px;font-family:DM Sans,sans-serif;font-size:12.5px;color:var(--text-light);display:flex;align-items:center;gap:14px}.progress .bar{flex:1;height:6px;border-radius:999px;background:var(--rule);overflow:hidden}.progress .bar-fill{height:100%;background:linear-gradient(90deg,var(--pink),var(--amber),var(--teal));border-radius:999px;width:0%;transition:width .3s cubic-bezier(.2,.8,.2,1)}.progress .count{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;min-width:70px;text-align:right}.pattern-section{margin:40px 0 24px;padding-top:28px;border-top:1px solid var(--rule)}.pattern-section:first-of-type{border-top:none;padding-top:0}.pattern-eyebrow{font-family:DM Sans,sans-serif;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}.pattern-section[data-pattern=vulnerable] .pattern-eyebrow{color:var(--teal)}.pattern-section[data-pattern=compliant] .pattern-eyebrow{color:var(--coral)}.pattern-section[data-pattern=demanding] .pattern-eyebrow{color:var(--pink-deep)}.pattern-section h2{font-family:Fraunces,Georgia,serif;font-weight:900;font-size:clamp(26px,3.2vw,34px);line-height:1.1;letter-spacing:-.01em;color:var(--ink);margin-bottom:8px}.pattern-section .pattern-blurb{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:16px;line-height:1.55;color:var(--text-light);margin-bottom:20px}.question{padding:16px 0;border-bottom:1px solid var(--rule)}.question:last-child{border-bottom:none}.question-text{font-family:Fraunces,Georgia,serif;font-size:17px;line-height:1.5;color:var(--ink);margin-bottom:14px}.scale{display:flex;gap:8px;flex-wrap:wrap}.scale button{flex:1;min-width:70px;background:var(--white);border:1.5px solid var(--rule);border-radius:6px;padding:10px 8px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--text-light);cursor:pointer;transition:all .15s}.scale button:hover{color:var(--ink);border-color:var(--text-light)}.scale button.selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}.pattern-section[data-pattern=vulnerable] .scale button.selected{background:var(--teal);border-color:var(--teal)}.pattern-section[data-pattern=compliant] .scale button.selected{background:var(--coral);border-color:var(--coral);color:var(--ink)}.pattern-section[data-pattern=demanding] .scale button.selected{background:var(--pink-deep);border-color:var(--pink-deep)}.results{display:none;margin:40px 0 0;padding:32px 28px;background:var(--white);border:1px solid var(--rule);border-radius:8px;box-shadow:0 12px 40px #1f1b220f}.results.shown{display:block}.results .eyebrow{color:var(--pink-deep);margin-bottom:10px}.results h2{font-family:Fraunces,Georgia,serif;font-weight:900;font-size:30px;line-height:1.1;color:var(--ink);margin-bottom:14px}.results .summary{font-family:Fraunces,Georgia,serif;font-size:17px;line-height:1.55;color:var(--text);margin-bottom:28px}.results-grid{display:flex;flex-direction:column;gap:14px;margin-bottom:28px}.result-row{display:grid;grid-template-columns:180px 1fr 60px;gap:12px;align-items:center}@media(max-width:600px){.result-row{grid-template-columns:1fr;gap:6px}}.result-row .name{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:16px;color:var(--ink)}.result-row .score-bar{height:12px;background:var(--rule);border-radius:999px;overflow:hidden}.result-row .score-fill{height:100%;border-radius:999px;transition:width .6s cubic-bezier(.2,.8,.2,1)}.result-row[data-pattern=vulnerable] .score-fill{background:var(--teal)}.result-row[data-pattern=compliant] .score-fill{background:var(--coral)}.result-row[data-pattern=demanding] .score-fill{background:var(--pink-deep)}.result-row .score-num{font-family:DM Sans,sans-serif;font-weight:700;font-size:14px;color:var(--text);text-align:right;font-variant-numeric:tabular-nums}.results .actions{display:flex;gap:12px;flex-wrap:wrap}.results .btn{padding:12px 20px;border-radius:6px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:none}.results .btn-primary{background:var(--pink);color:var(--white)}.results .btn-primary:hover{background:var(--pink-deep)}.results .btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}.results .btn-ghost:hover{background:var(--ink);color:var(--paper)}footer{max-width:760px;margin:56px auto 0;padding:24px;border-top:1px solid var(--rule);font-family:DM Sans,sans-serif;font-size:11px;color:var(--text-light);letter-spacing:.04em;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}footer a{text-decoration:none;color:var(--text-light)}footer a:hover{color:var(--ink)}.gate{max-width:560px;margin:24px auto 40px;padding:32px 28px;background:var(--white);border:1.5px solid var(--rule);border-radius:12px;box-shadow:0 12px 40px #1f1b220f}.gate.unlocked{display:none}.gate-eyebrow{font-family:DM Sans,sans-serif;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--pink-deep);margin-bottom:10px}.gate-eyebrow:before{content:"✻";margin-right:6px}.gate h2{font-family:Fraunces,Georgia,serif;font-weight:900;font-size:26px;line-height:1.1;letter-spacing:-.01em;color:var(--ink);margin-bottom:10px}.gate p{font-family:Fraunces,Georgia,serif;font-size:16px;line-height:1.55;color:var(--text);margin-bottom:18px}.gate-form{display:flex;gap:8px;flex-wrap:wrap}.gate-form input[type=email]{flex:1;min-width:220px;font-family:DM Sans,sans-serif;font-size:15px;padding:12px 16px;border:1.5px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink)}.gate-form input[type=email]:focus{outline:none;border-color:var(--pink)}.gate-form button{background:var(--pink);color:var(--white);font-family:DM Sans,sans-serif;font-weight:700;font-size:14px;letter-spacing:.04em;padding:12px 20px;border:none;border-radius:6px;cursor:pointer}.gate-form button:hover{background:var(--pink-deep)}.gate .gate-fine{font-family:DM Sans,sans-serif;font-size:12px;color:var(--text-light);margin-top:12px;line-height:1.5}.gate .gate-error{display:none;font-family:DM Sans,sans-serif;font-size:13px;color:var(--pink-deep);margin-top:8px}.gate .gate-error.shown{display:block}.inventory-body{display:none}.inventory-body.unlocked{display:block}
