:root{--paper:#fff;--ink:#0b0b0b;--grey:#6e6e6e;--faint:#e4e4e4;--mark:#ffe500;--d-violet:#6d4ef5;--d-blue:#2a5cf5;--d-navy:#101a52;--d-gradient:linear-gradient(135deg, var(--d-violet) 0%, var(--d-blue) 48%, var(--d-navy) 100%);--d-text:#f4f5ff;--d-sans:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--serif:"Iowan Old Style", "Charter", "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;font-family:var(--serif);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-weight:400;line-height:1.5}html{scroll-behavior:smooth;overflow-x:clip}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:0s!important;animation:none!important}}*{box-sizing:border-box}body{background:var(--paper);min-height:100vh;color:var(--ink);margin:0;overflow-x:clip}img{max-width:100%;display:block}button,input,a{font:inherit}button{cursor:pointer}#root{min-height:100vh}mark{background:var(--mark);color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .08em}h1 mark,h2 mark{background:linear-gradient(var(--mark), var(--mark)) no-repeat 0 88% / 100% 58%;padding:0 .04em}::selection{background:var(--mark);color:var(--ink)}.app-shell{max-width:1280px;margin:0 auto;padding:0 28px 32px}.site-header{z-index:20;background:var(--paper);border-bottom:1px solid var(--ink);font-family:var(--mono);justify-content:space-between;align-items:center;gap:24px;padding:12px 0;font-size:.8rem;display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:.02em;flex-shrink:0;font-weight:700;text-decoration:none}.main-nav{flex-wrap:wrap;gap:6px 24px;display:flex}.main-nav a{color:var(--grey);text-decoration:none}.main-nav a:hover{color:var(--ink);text-underline-offset:.3em;text-decoration:underline;text-decoration-thickness:1px}.main-nav a[aria-current=page]{background:var(--mark);color:var(--ink);margin:0 -.3em;padding:0 .3em}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}h1,h2,h3{font-family:var(--serif);letter-spacing:-.035em;color:inherit;margin:0;font-weight:400;line-height:.95}.eyebrow{color:var(--grey);font-family:var(--mono);margin:0 0 18px;font-size:.78rem}.lede{max-width:34rem;margin:24px 0 0;font-size:1.25rem;line-height:1.5}.button{border:1px solid var(--ink);background:var(--paper);min-height:46px;color:var(--ink);font-family:var(--mono);white-space:nowrap;justify-content:center;align-items:center;padding:0 1.1rem;font-size:.82rem;text-decoration:none;display:inline-flex}.button-primary{background:var(--ink);color:var(--paper)}.button:hover{background:var(--mark);color:var(--ink)}.button-small{min-height:34px;padding:0 .8rem;font-size:.78rem}.text-button{color:var(--ink);font-family:var(--mono);text-underline-offset:.25em;background:0 0;border:0;padding:0;font-size:.78rem;text-decoration:underline;text-decoration-thickness:1px}.text-button:hover{background:var(--mark)}.text-button:disabled{opacity:.4;cursor:default}.cta-row{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.break-switch{font-family:var(--mono);align-items:center;font-size:.78rem;display:inline-flex}.break-switch button{border:1px solid var(--ink);background:var(--paper);color:var(--ink);font-family:var(--mono);padding:.4rem .75rem}.break-switch button+button{border-left:0}.break-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.break-switch button[aria-pressed=false]:hover{background:var(--mark)}.arrow-link{color:var(--ink);font-family:var(--mono);text-underline-offset:.3em;font-size:.86rem;text-decoration:underline;text-decoration-thickness:1px}.arrow-link:hover{background:var(--mark)}.home-hero,.world-head,.thesis,.final{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;display:grid}.page-next{border-top:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 40px;padding:40px 0 56px;display:flex}.page-next p{letter-spacing:-.025em;margin:0;font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.1}.page-next .cta-row{margin:0}.home-hero{border-bottom:1px solid var(--ink);padding:72px 0 64px}.home-kicker{font-family:var(--mono);letter-spacing:.02em;grid-column:1/-1;margin:0 0 20px;font-size:.86rem;font-weight:700}.home-hero h1{letter-spacing:-.045em;grid-column:1/-1;max-width:11.5ch;margin-left:-.05em;font-size:clamp(3.4rem,9.4vw,9.2rem);line-height:.88}.home-hero-foot{grid-column:7/-1;margin-top:40px}.home-hero-foot .lede{margin:0}.home-hero-foot .cta-row{margin-top:28px}.home-default{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:56px;padding:80px 0;display:grid}.home-default h2{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1}.home-default h2 span{color:var(--grey);display:block}.home-default-legend{border-top:1px solid var(--ink);font-family:var(--mono);margin:32px 0 28px;padding:0;font-size:.82rem;list-style:none}.home-default-legend li{border-bottom:1px solid var(--faint);cursor:default;align-items:center;gap:12px;padding:7px 0;display:flex}.home-default-legend li span,.mini-marker{background:var(--ink);width:1.4rem;height:1.4rem;color:var(--paper);font-family:var(--mono);flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;display:inline-flex}.home-default-legend li.is-active span,.mini-marker.is-active{background:var(--mark);color:var(--ink);outline:1px solid var(--ink)}.mini-default{margin:0;position:relative}.mini-default figcaption{color:var(--grey);font-family:var(--mono);margin-top:14px;font-size:.78rem}.mini-site{background:var(--d-gradient);color:var(--d-text);font-family:var(--d-sans);text-align:center;-webkit-user-select:none;user-select:none;border-radius:22px;padding:16px 22px 22px;box-shadow:0 30px 60px -30px #2a5cf599}.mini-nav{color:#f4f5ffb8;align-items:center;gap:16px;font-size:.72rem;display:flex}.mini-nav b{color:var(--d-text);margin-right:auto;font-size:.9rem}.mini-nav i,.mini-actions i{background:var(--d-text);color:var(--d-navy);border-radius:999px;padding:.3rem .8rem;font-style:normal;font-weight:600}.mini-hero{flex-direction:column;align-items:center;padding:34px 0 26px;display:flex}.mini-pill{background:#ffffff1f;border:1px solid #ffffff4d;border-radius:999px;padding:.25rem .75rem;font-size:.68rem}.mini-hero strong{letter-spacing:-.04em;max-width:14ch;margin-top:14px;font-size:clamp(1.5rem,2.8vw,2.3rem);font-weight:700;line-height:1.05}.mini-hero p{color:#f4f5ffb8;margin:10px 0 0;font-size:.8rem}.mini-actions{gap:8px;margin-top:16px;font-size:.72rem;display:flex}.mini-actions i+i{color:var(--d-text);background:#ffffff1a;border:1px solid #ffffff4d}.mini-bento{grid-template-rows:44px 44px;grid-template-columns:1.3fr 1fr 1fr;gap:8px;display:grid}.mini-bento span{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:14px}.mini-bento span:first-child{grid-row:span 2}.mini-bento span:last-child{grid-column:span 2}.mini-marker{z-index:1;position:absolute}.mini-marker-1{top:-10px;right:-10px}.mini-marker-2{bottom:64px;left:36%}.mini-marker-3{top:34%;left:14%}.mini-marker-4{top:42%;right:16%}.mini-marker-5{bottom:112px;right:-10px}.mini-marker-6{top:21%;left:34%}.mini-marker-7{top:6px;left:-10px}.experiences{padding:80px 0 0}.experiences-head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:24px;margin-bottom:36px;display:grid}.experiences-head h2{font-size:clamp(2.6rem,5.4vw,5rem)}.experiences-head p{color:var(--grey);margin:0;font-size:1.1rem}.experience-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.experience{border-bottom:1px solid var(--ink);color:var(--ink);grid-template-columns:3rem 10rem minmax(0,1fr) 15rem 11rem;align-items:center;gap:24px;padding:26px 0;text-decoration:none;display:grid}.experience:hover{background:linear-gradient(var(--mark), var(--mark)) no-repeat 0 0 / 100% 100%}.experience-number,.experience-name,.experience-action{font-family:var(--mono);font-size:.8rem}.experience-name{text-transform:uppercase;letter-spacing:.04em;font-weight:700}.experience-copy strong{letter-spacing:-.025em;font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:400;line-height:1.08;display:block}.experience-copy span{max-width:44ch;color:var(--grey);margin-top:8px;display:block}.experience:hover .experience-copy span{color:var(--ink)}.experience-action{text-underline-offset:.3em;justify-self:end;text-decoration:underline}.experience-preview{justify-self:start}.preview-default{background:var(--d-gradient);color:var(--d-text);font-family:var(--d-sans);border-radius:999px;padding:.45rem 1rem;font-size:.82rem;font-weight:600;display:inline-block;box-shadow:0 8px 24px #6d4ef559}.preview-detect{border:1px solid var(--ink);background:var(--paper);font-family:var(--mono);padding:.4rem .7rem;font-size:.78rem;display:inline-block}.preview-detect b{font-size:1.1rem}.preview-break{font-size:.95rem;line-height:1.3}.preview-break s{color:var(--grey);display:block}.preview-guide{font-size:1.05rem;font-style:italic}.world{--s-ink:var(--ink);--s-muted:var(--grey);--s-line:var(--faint);--s-surface:#f3f3f3;--s-on-ink:var(--paper);--s-bg:var(--paper);--s-border:var(--ink);--s-radius:0px;--s-card-radius:0px;--s-button-radius:0px;border-bottom:1px solid var(--ink);color:var(--s-ink);margin-inline:calc(50% - 50vw);padding:72px calc(50vw - 50%);scroll-margin-top:60px}.world-head{margin-bottom:40px}.world-kicker{color:var(--s-muted);font-family:var(--mono);grid-column:1/-1;justify-self:start;margin:0 0 18px;font-size:.78rem}.world-head h1{grid-column:1/span 9;font-size:clamp(2.8rem,6vw,5.6rem)}.world-intro{color:var(--s-muted);grid-column:1/span 7;margin:20px 0 0;font-size:1.15rem;line-height:1.5}.world-body{grid-template-columns:minmax(240px,4fr) minmax(0,8fr);align-items:start;gap:40px;display:grid}.pattern-toggles{border-top:1px solid var(--s-border);margin:0;padding:0;list-style:none}.pattern-toggle{border:0;border-bottom:1px solid var(--s-line);width:100%;color:var(--s-ink);text-align:left;background:0 0;grid-template-columns:1fr auto;gap:2px 16px;padding:13px 0;display:grid}.pattern-toggle strong{font-family:var(--serif);letter-spacing:-.015em;font-size:1.25rem;font-weight:400}.pattern-toggle small{color:var(--s-muted);font-family:var(--mono);grid-column:1;font-size:.74rem}.pattern-toggle .switch{border:1px solid var(--s-border);min-width:3rem;font-family:var(--mono);text-align:center;grid-area:1/2/span 2;align-self:center;padding:.25rem .5rem;font-size:.72rem}.pattern-toggle[aria-pressed=true] .switch{background:var(--s-ink);color:var(--s-on-ink)}.pattern-toggle[aria-pressed=false] strong{text-decoration:line-through;text-decoration-thickness:1px}.pattern-toggle[aria-pressed=false] .switch{background:var(--mark);color:var(--ink)}.world-all{border:1px solid var(--s-border);border-radius:var(--s-button-radius);background:var(--s-ink);color:var(--s-on-ink);font-family:var(--mono);margin-top:20px;padding:.6rem 1rem;font-size:.8rem}.world-all:hover{background:var(--mark);color:var(--ink)}.specimen-frame{margin:0}.specimen-frame figcaption{letter-spacing:-.015em;margin-top:16px;font-size:1.25rem}.specimen-frame figcaption span{color:var(--s-muted);font-family:var(--mono);letter-spacing:0;margin-bottom:4px;font-size:.74rem;display:block}.specimen{border:1px solid var(--s-border);border-radius:var(--s-radius);background:var(--s-bg);color:var(--s-ink);-webkit-user-select:none;user-select:none;padding:20px 26px 26px;overflow:hidden}.specimen-nav{border-bottom:1px solid var(--s-line);align-items:center;gap:18px;padding-bottom:16px;font-size:.8rem;display:flex}.specimen-logo{margin-right:auto;font-size:1.05rem;font-style:italic}.specimen-links{color:var(--s-muted);gap:14px;display:flex}.specimen-cta,.specimen-actions span{border-radius:var(--s-button-radius);border:1px solid}.specimen-cta{padding:.35rem .75rem}.specimen-hero{padding:40px 0 32px}.specimen-kicker{color:var(--s-muted);font-family:var(--mono);margin-bottom:16px;font-size:.72rem;display:inline-block}.specimen h3{letter-spacing:-.04em;max-width:15ch;font-size:clamp(1.9rem,3.6vw,3rem)}.specimen-hero p{max-width:38ch;color:var(--s-muted);margin:14px 0 0;font-size:.95rem;line-height:1.5}.specimen-actions{gap:10px;margin-top:24px;display:flex}.specimen-actions span{padding:.6rem 1.1rem;font-size:.8rem}.specimen-actions span:first-child{background:var(--s-ink);border-color:var(--s-ink);color:var(--s-on-ink)}.specimen-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;display:grid}.specimen-feature{border-top:1px solid var(--s-line);border-radius:var(--s-card-radius);padding:14px 0;transition:transform .25s,box-shadow .25s}.specimen-feature span{color:var(--s-muted);font-family:var(--mono);font-size:.7rem}.specimen-feature strong{margin-top:6px;font-size:1rem;font-weight:400;display:block}.world.p-gradient{--s-ink:var(--d-text);--s-muted:#f4f5ffb8;--s-line:#fff3;--s-surface:#ffffff17;--s-on-ink:var(--d-navy);--s-bg:#ffffff0f;--s-border:#ffffff4d;background:var(--d-gradient);border-bottom-color:#0000}.world.p-typography h1,.world.p-typography .specimen h3,.world.p-typography .specimen-logo{font-family:var(--d-sans);letter-spacing:-.035em;font-style:normal;font-weight:700;line-height:1.04}.world.p-typography .pattern-toggle strong,.world.p-typography .pattern-toggle small,.world.p-typography .pattern-toggle .switch,.world.p-typography .world-kicker,.world.p-typography .world-intro,.world.p-typography .world-all,.world.p-typography figcaption,.world.p-typography figcaption span,.world.p-typography .specimen,.world.p-typography .specimen-kicker,.world.p-typography .specimen-feature span{font-family:var(--d-sans)}.world.p-typography .pattern-toggle strong,.world.p-typography .specimen-feature strong{font-weight:600}.world.p-centred .world-head{text-align:center}.world.p-centred .world-kicker{justify-self:center}.world.p-centred .world-head h1,.world.p-centred .world-intro{grid-column:1/-1;max-width:18ch;margin-inline:auto}.world.p-centred .world-intro{max-width:40rem}.world.p-centred .specimen-hero{text-align:center}.world.p-centred .specimen-hero h3,.world.p-centred .specimen-hero p{margin-left:auto;margin-right:auto}.world.p-centred .specimen-actions{justify-content:center}.world.p-rounded{--s-radius:28px;--s-card-radius:18px;--s-button-radius:999px}.world.p-rounded .world-kicker,.world.p-rounded .specimen-kicker{border:1px solid var(--s-line);background:var(--s-surface);border-radius:999px;padding:.3rem .8rem}.world.p-rounded .pattern-toggle .switch{border-radius:999px}.world.p-rounded .specimen-features,.world.p-bento .specimen-features{gap:10px}.world.p-rounded .specimen-feature,.world.p-bento .specimen-feature{border:1px solid var(--s-line);background:var(--s-surface);padding:16px}.world.p-bento .specimen-features{grid-template-columns:repeat(3,minmax(0,1fr))}.world.p-bento .specimen-feature{min-height:78px}.world.p-bento .specimen-feature:first-child{grid-row:span 2}.world.p-bento .specimen-feature:last-child{grid-column:span 2}.world.p-hover .specimen-feature:hover{transform:translateY(-3px);box-shadow:0 14px 30px #101a5240}.world.p-hover .specimen-actions span:first-child,.world.p-hover .world-all{box-shadow:0 8px 24px #6d4ef573}.world.p-hover .pattern-toggle{transition:transform .2s}.world.p-hover .pattern-toggle:hover{transform:translate(4px)}@media (prefers-reduced-motion:no-preference){.world.p-hover .specimen-feature:nth-child(2){animation:3.2s ease-in-out infinite specimen-float}}@keyframes specimen-float{50%{transform:translateY(-4px)}}.catalogue{color:var(--d-text);font-family:var(--d-sans);background:radial-gradient(circle at 15% 10%,#6d4ef573,#0000 40%),radial-gradient(circle at 85% 70%,#2a5cf559,#0000 45%),#0a0f2e;margin-inline:calc(50% - 50vw);padding:96px calc(50vw - 50%)}.catalogue-head{text-align:center;max-width:44rem;margin:0 auto 56px}.catalogue-pill{background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;padding:.35rem .9rem;font-size:.82rem;font-weight:500;display:inline-block}.catalogue h2,.catalogue h3{font-family:var(--d-sans);font-weight:700}.catalogue-head h2{letter-spacing:-.04em;margin-top:20px;font-size:clamp(2.2rem,4.6vw,4rem);line-height:1.04}.catalogue-head h2 span{background:linear-gradient(90deg,#c4b5fd,#93c5fd);color:#0000;-webkit-background-clip:text;background-clip:text}.catalogue-head p{color:#f4f5ffb3;max-width:34rem;margin:18px auto 0;font-size:1.05rem}.catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(220px,auto);gap:16px;margin:0;padding:0;list-style:none;display:grid}.catalogue-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:24px;flex-direction:column;padding:26px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex}.catalogue-card:hover{border-color:#c4b5fd80;transform:translateY(-4px);box-shadow:0 20px 50px -20px #6d4ef5b3}.catalogue-typography{grid-row:span 2}.catalogue-gradient{background:var(--d-gradient)}.catalogue-hover{grid-column:1/-1}.catalogue-category{color:#c4b5fd;background:#c4b5fd29;border-radius:999px;align-self:flex-start;padding:.2rem .65rem;font-size:.74rem;font-weight:600}.catalogue-gradient .catalogue-category{color:var(--d-text);background:#ffffff2e}.catalogue-card h3{letter-spacing:-.03em;margin-top:18px;font-size:1.5rem;line-height:1.1}.catalogue-typography h3{font-size:clamp(2.4rem,4vw,3.6rem)}.catalogue-card p{color:#f4f5ffb8;margin:12px 0 0;font-size:.95rem;line-height:1.55}.catalogue-card .catalogue-looks{margin-top:auto;padding-top:18px;font-size:.85rem}.catalogue-looks b{color:var(--d-text);font-weight:600;display:block}.catalogue-more{text-align:center;margin-top:64px}.catalogue-more h3{letter-spacing:-.02em;font-size:1.4rem}.catalogue-more ul{flex-wrap:wrap;justify-content:center;gap:10px;margin:24px 0 0;padding:0;list-style:none;display:flex}.catalogue-more li{background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;flex-direction:column;padding:.6rem 1.1rem;font-size:.88rem;display:flex}.catalogue-more li span{color:#f4f5ff99;font-size:.76rem}@media (prefers-reduced-motion:no-preference){.catalogue-pill{animation:3.2s ease-in-out infinite catalogue-glow}}@keyframes catalogue-glow{50%{box-shadow:0 0 24px #c4b5fd73}}.contrast{padding:88px 0 72px}.contrast-head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:24px;margin-bottom:40px;display:grid}.contrast-head h2{font-size:clamp(2.4rem,5vw,4.6rem)}.contrast-head p{color:var(--grey);margin:0;font-size:1.1rem}.contrast-row{grid-template-columns:10rem minmax(0,1fr) minmax(0,1fr);display:grid}.contrast-row>span{border-bottom:1px solid var(--faint);padding:16px 20px}.contrast-category{font-family:var(--mono);font-size:.8rem;padding-left:0!important}.contrast-default{background:var(--d-gradient);color:var(--d-text);font-family:var(--d-sans);background-attachment:fixed;border-bottom-color:#ffffff26!important}.contrast-decided{border-left:1px solid var(--ink);letter-spacing:-.01em;font-size:1.15rem}.contrast-labels>span{border-bottom:1px solid var(--ink);font-size:.8rem}.contrast-labels .contrast-default{border-radius:16px 16px 0 0}.contrast-labels b{letter-spacing:-.03em;font-size:1.6rem;display:block}.contrast-labels .contrast-default b{font-weight:700}.contrast-labels .contrast-decided{font-family:var(--mono)}.contrast-labels .contrast-decided b{font-family:var(--serif);font-weight:400}.thesis{border-bottom:1px solid var(--ink);padding:88px 0 96px}.thesis-setup{color:var(--grey);letter-spacing:-.02em;grid-column:1/span 7;margin:0 0 28px;font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.15}.thesis-statement{letter-spacing:-.05em;grid-column:1/-1;margin-left:-.06em;font-size:clamp(3.4rem,10.4vw,10.2rem);line-height:.86}.detect-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 40px;padding:40px 0 24px;display:flex}.detect-head h1{letter-spacing:-.04em;font-size:clamp(2.2rem,4.4vw,3.8rem)}.detect-head p{max-width:26rem;color:var(--grey);font-family:var(--mono);margin:0;font-size:.86rem;line-height:1.6}.page-detect .tool{margin-bottom:72px}.method{border-top:1px solid var(--ink);padding:56px 0 64px}.method h2{margin-bottom:32px;font-size:clamp(2rem,3.6vw,3rem)}.method-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;display:grid}.method-columns h3{font-family:var(--mono);letter-spacing:0;margin-bottom:12px;font-size:.86rem;line-height:1.4}.method-columns p{color:var(--grey);margin:0 0 14px;line-height:1.55}.method-table{border-collapse:collapse;width:100%;font-family:var(--mono);margin-top:8px;font-size:.78rem}.method-table th,.method-table td{border-top:1px solid var(--faint);text-align:left;padding:8px 0;font-weight:400}.method-table td{color:var(--grey)}.method-table td:last-child{color:var(--ink);text-align:right}.tool{border:1px solid var(--ink)}.tool-label{font-family:var(--mono);color:var(--grey);margin:0;font-size:.74rem}.tool-privacy{color:var(--grey);font-family:var(--mono);margin:0;font-size:.72rem;line-height:1.5}.tool-error{border:1px solid var(--ink);background:var(--mark);font-family:var(--mono);margin:0;padding:8px 10px;font-size:.78rem}.report-categories{border-top:1px solid var(--ink);border-left:1px solid var(--faint);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.report-categories li{border-right:1px solid var(--faint);border-bottom:1px solid var(--faint);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.report-categories strong{font-size:1.05rem;font-weight:400}.report-categories span{font-family:var(--mono);align-self:flex-start;font-size:.7rem}.report-categories small{color:var(--grey);font-family:var(--mono);font-size:.68rem;line-height:1.4}.report-categories li[data-status=detected] span{background:var(--ink);color:var(--paper);padding:0 4px}.report-categories li[data-status=possible] span{border:1px solid var(--ink);padding:0 4px}.report-categories li[data-status=not\ measured]{background:repeating-linear-gradient(135deg,#0000 0 6px,#f4f4f4 6px 7px)}.report-categories li[data-status=not\ measured] strong,.report-categories li[data-status=clear] span,.report-categories li[data-status=not\ measured] span{color:var(--grey)}.tool-bar{background:var(--ink);color:var(--paper);font-family:var(--mono);justify-content:space-between;gap:16px;padding:9px 16px;font-size:.74rem;display:flex}.tool-steps{border-bottom:1px solid var(--ink);font-family:var(--mono);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;font-size:.78rem;list-style:none;display:grid}.tool-steps li{color:var(--grey);align-items:center;gap:10px;padding:12px 16px;display:flex}.tool-steps li+li{border-left:1px solid var(--faint)}.tool-steps li span{border:1px solid;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;display:inline-flex}.tool-steps li.is-done,.tool-steps li.is-current{color:var(--ink)}.tool-steps li.is-done span{background:var(--ink);color:var(--paper)}.tool-steps li.is-current span{border-color:var(--ink);background:var(--mark)}.tool-body{grid-template-columns:minmax(0,5fr) minmax(0,7fr);display:grid}.tool-input{flex-direction:column;align-self:start;gap:12px;padding:24px;display:flex;position:sticky;top:60px}.report{border-left:1px solid var(--ink)}.dropzone{border:1px dashed var(--ink);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:380px;padding:24px;display:flex;position:relative}.dropzone:hover,.dropzone.is-dragging{background:var(--mark);border-style:solid}.dropzone:focus-within{outline:2px solid var(--ink);outline-offset:3px}.dropzone input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.dropzone strong{letter-spacing:-.02em;font-size:1.6rem;font-weight:400}.dropzone small{font-family:var(--mono);font-size:.76rem}.dropzone.has-preview{padding:16px}.dropzone.has-preview:hover{background:var(--paper)}.dropzone img{object-fit:contain;border:1px solid var(--faint);width:auto;max-height:320px}.tool-meta{color:var(--grey);font-family:var(--mono);overflow-wrap:anywhere;justify-content:space-between;align-items:baseline;gap:12px;font-size:.76rem;display:flex}.report{flex-direction:column;gap:24px;padding:24px 28px;display:flex}.tool.is-analyzing .report{opacity:.35}.report-flag{border:1px solid var(--ink);font-family:var(--mono);align-self:flex-start;margin:0;padding:2px 6px;font-size:.74rem}.report-score p:first-child{letter-spacing:-.015em;margin:0;font-size:1.5rem}.report-score strong{letter-spacing:-.04em;margin-right:.15em;font-size:3.4rem;font-weight:400;line-height:1}.report-caveat{max-width:46ch;color:var(--grey);font-family:var(--mono);margin:10px 0 0;font-size:.76rem;line-height:1.55}.report-scale{border:1px solid var(--ink);font-family:var(--mono);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;font-size:.74rem;list-style:none;display:grid}.report-scale li{color:var(--grey);padding:8px 10px}.report-scale li+li{border-left:1px solid var(--ink)}.report-scale li.is-active{background:var(--mark);color:var(--ink)}.report-label{color:var(--grey);font-family:var(--mono);justify-content:space-between;gap:12px;margin:0 0 8px;font-size:.74rem;display:flex}.report-caveat b{color:var(--ink);background:var(--mark);font-weight:400}.report-patterns,.report-suggestions{margin:0;padding:0;list-style:none}.report-patterns{border-top:1px solid var(--ink)}.report-patterns li{border-bottom:1px solid var(--faint);padding:12px 0 14px}.report-pattern-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.report-pattern-head strong{letter-spacing:-.01em;font-size:1.2rem;font-weight:400}.report-pattern-head span{color:var(--grey);font-family:var(--mono);flex-shrink:0;font-size:.72rem}.report-patterns li[data-status=detected] .report-pattern-head span{color:var(--ink)}.report-meter{background:var(--faint);height:4px;margin:8px 0 10px;display:block}.report-meter span{background:var(--ink);height:100%;display:block}.report-patterns p{color:var(--grey);margin:0;font-size:.95rem;line-height:1.5}.report-patterns .report-evidence{color:var(--ink);font-family:var(--mono);margin-bottom:6px;font-size:.76rem}.report-empty{border-top:1px solid var(--ink);color:var(--grey);margin:0;padding-top:10px;line-height:1.5}.report-suggestions li{border-top:1px solid var(--faint);padding:10px 0}.report-suggestions li:first-child{border-top-color:var(--ink)}.report-suggestions span{color:var(--grey);font-family:var(--mono);margin-bottom:4px;font-size:.72rem;display:block}.report-suggestions p{margin:0;line-height:1.5}.break-head{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:end;gap:48px;padding:72px 0 56px;display:grid}.break-head h1{letter-spacing:-.045em;font-size:clamp(2.8rem,6.2vw,6rem);line-height:.92}.break-head-aside p{margin:0 0 24px;font-size:1.1rem;line-height:1.5}.break-head-aside ol{border-top:1px solid var(--ink);counter-reset:toc;font-family:var(--mono);margin:0;padding:0;font-size:.8rem;list-style:none}.break-head-aside li{counter-increment:toc}.break-head-aside a{border-bottom:1px solid var(--faint);color:var(--ink);gap:12px;padding:8px 0;text-decoration:none;display:flex}.break-head-aside a:before{content:counter(toc, decimal-leading-zero);color:var(--grey)}.break-head-aside a:hover{background:var(--mark)}.break-section{border-bottom:1px solid var(--ink);padding:72px 0;scroll-margin-top:60px}.break-section-head{grid-template-columns:4rem minmax(0,7fr) minmax(0,4fr);align-items:end;gap:24px;margin-bottom:40px;display:grid}.break-section-head>span{font-family:var(--mono);align-self:start;padding-top:.6em;font-size:.86rem}.break-section-head h2{font-size:clamp(2.2rem,4.4vw,4rem)}.break-section-head p{color:var(--grey);margin:0;font-size:1.05rem;line-height:1.5}.say-list .say-dont p{color:var(--ink);-webkit-text-decoration-color:var(--grey);text-decoration-color:var(--grey);font-size:clamp(1.3rem,2vw,1.6rem)}.say-decides{font-family:var(--mono);color:var(--grey);justify-self:end;font-size:.72rem}.builder{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:40px;display:grid}.builder-groups{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.builder-group{border-bottom:1px solid var(--faint);grid-template-columns:11rem minmax(0,1fr);gap:24px;padding:22px 0;display:grid}.builder-title span{color:var(--grey);font-family:var(--mono);margin-bottom:6px;font-size:.74rem;display:block}.builder-title h3{letter-spacing:-.025em;font-size:1.7rem}.builder-question{margin:0;font-size:1.15rem}.builder-default{color:var(--grey);font-family:var(--mono);margin:4px 0 14px;font-size:.74rem}.builder-default s{text-decoration-thickness:1px}.builder-options{flex-wrap:wrap;gap:6px;display:flex}.builder-options button{border:1px solid var(--ink);background:var(--paper);color:var(--ink);font-family:var(--mono);padding:.4rem .75rem;font-size:.78rem}.builder-options button:hover{background:#f4f4f4}.builder-options button[aria-pressed=true]{background:var(--mark)}.builder-phrase{border-left:2px solid var(--mark);margin:12px 0 0;padding-left:14px;line-height:1.5}.builder-output{border:1px solid var(--ink);background:var(--ink);color:var(--paper);position:sticky;top:72px}.builder-output-head{font-family:var(--mono);border-bottom:1px solid #333;justify-content:space-between;padding:10px 16px;font-size:.74rem;display:flex}.builder-output pre{min-height:220px;font-family:var(--mono);white-space:pre-wrap;margin:0;padding:18px 16px;font-size:.8rem;line-height:1.65}.builder-actions{border-top:1px solid #333;align-items:center;gap:16px;padding:12px 16px;display:flex}.builder-actions .button-primary{background:var(--mark);border-color:var(--mark);color:var(--ink)}.builder-actions .text-button{color:var(--paper)}.builder-actions .text-button:hover{color:var(--ink)}.break-switch{margin-bottom:24px}.break-rows{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.break-rows li{border-bottom:1px solid var(--faint);grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:40px;padding:16px 0;display:grid}.break-prompt span{color:var(--grey);font-family:var(--mono);margin-bottom:8px;font-size:.74rem;display:block}.break-prompt s{color:var(--grey);margin-bottom:6px;text-decoration-thickness:1px;display:block}.break-prompt p{letter-spacing:-.02em;margin:0;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.15}.break-caption{margin:24px 0 0;font-size:1.3rem}.break-caption .text-button{margin-left:.5em}.thumb{aspect-ratio:16/10;border:1px solid var(--ink);background:var(--paper);width:100%;position:relative;overflow:hidden}.thumb span{display:block;position:absolute}.thumb-default{background:var(--d-gradient);border-color:#0000;border-radius:12px}.thumb-default span{border-radius:999px}.thumb-default .t-title{background:#ffffffeb;height:9%;top:16%;left:24%;right:24%}.thumb-default span:nth-child(2){background:#ffffff80;height:5%;top:31%;left:32%;right:32%}.thumb-default span:nth-child(3){background:var(--d-text);height:7%;top:41%;left:41%;right:41%}.thumb-default .t-block{background:#ffffff26;border-radius:8px;width:26%;top:58%;bottom:10%}.thumb-default .t-block:nth-child(4){left:8%}.thumb-default .t-block:nth-child(5){left:37%}.thumb-default .t-block:nth-child(6){left:66%}.thumb-editorial .t-title{background:var(--ink);width:72%;height:24%;top:10%;left:8%}.thumb-editorial span:nth-child(2){background:var(--grey);width:40%;height:3%;top:42%;left:8%}.thumb-editorial span:nth-child(3){background:var(--ink);height:1px;top:54%;left:8%;right:8%}.thumb-editorial .t-block{background:repeating-linear-gradient(to bottom, var(--grey) 0 2px, transparent 2px 7px);width:25%;height:28%;top:62%}.thumb-editorial .t-block:nth-child(4){left:8%}.thumb-editorial .t-block:nth-child(5){left:37.5%}.thumb-editorial .t-block:nth-child(6){left:67%}.thumb-restrained{background:var(--ink)}.thumb-restrained .t-title{background:var(--paper);width:46%;height:7%;top:40%;left:10%}.thumb-restrained span:nth-child(2){background:var(--grey);width:22%;height:2%;top:53%;left:10%}.thumb-restrained span:nth-child(3),.thumb-restrained .t-block:nth-child(5),.thumb-restrained .t-block:nth-child(6){display:none}.thumb-restrained .t-block:nth-child(4){background:var(--paper);width:5%;height:8%;bottom:14%;right:10%}.thumb-broken .t-title{background:var(--ink);width:62%;height:32%;top:9%;left:6%}.thumb-broken span:nth-child(2),.thumb-broken span:nth-child(3){display:none}.thumb-broken .t-block:nth-child(4){z-index:1;border:1px solid var(--ink);background:var(--mark);width:42%;height:46%;top:28%;left:48%}.thumb-broken .t-block:nth-child(5){border:1px solid var(--ink);background:var(--paper);width:30%;height:40%;top:50%;left:14%}.thumb-broken .t-block:nth-child(6){background:var(--ink);width:18%;height:14%;bottom:6%;right:3%}.final{padding:96px 0 104px}.final>*{grid-column:1/-1}.final h2{letter-spacing:-.045em;font-size:clamp(3rem,8.2vw,8rem);line-height:.9}.final h2 span{color:var(--grey);letter-spacing:-.02em;margin-bottom:.35em;font-size:.42em;display:block}.site-footer{border-top:1px solid var(--ink);grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;padding:28px 0 8px;display:grid}.footer-about p{max-width:30rem;color:var(--grey);margin:0 0 16px}.footer-about strong{color:var(--ink);font-weight:400}.footer-links{font-family:var(--mono);gap:20px;font-size:.78rem;display:flex}.footer-links a{color:var(--ink)}.colophon{border-top:1px solid var(--ink);font-family:var(--mono);margin:0;font-size:.76rem}.colophon div{border-bottom:1px solid var(--faint);grid-template-columns:9rem minmax(0,1fr);gap:16px;padding:7px 0;display:grid}.colophon dd{color:var(--grey);margin:0}.guide-hero{border-bottom:1px solid var(--ink);grid-template-columns:220px minmax(0,1fr);gap:32px;padding:80px 0 64px;display:grid}.guide-hero h1{letter-spacing:-.045em;max-width:16ch;font-size:clamp(3rem,6.4vw,6.2rem);font-style:italic;line-height:.92}.guide-hero .eyebrow span{margin-top:6px;display:block}.guide-standfirst{max-width:38rem;margin:32px 0 0;font-size:1.35rem;line-height:1.5}.guide-opening{max-width:40rem;margin:36px 0 24px;font-size:1.2rem;line-height:1.65}.guide-opening:first-letter{float:left;margin:.06em .1em 0 0;font-size:4.2em;line-height:.8}.guide-body{grid-template-columns:220px minmax(0,1fr);gap:32px;padding:24px 0 96px;display:grid}.guide-toc{align-self:start;padding-top:36px;position:sticky;top:80px}.guide-toc ol{margin:0;padding:0;font-size:.95rem;list-style:none}.guide-toc a{border-bottom:1px solid var(--faint);color:var(--grey);gap:10px;padding:7px 0;text-decoration:none;display:flex}.guide-toc a:hover{color:var(--ink);background:var(--mark)}.guide-toc span{width:1.6rem;font-family:var(--mono);flex-shrink:0;padding-top:.2em;font-size:.74rem}.method-list{margin:0;padding:0;list-style:none}.method-step{border-bottom:1px solid var(--faint);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;padding:36px 0;scroll-margin-top:72px;display:grid}.method-index{align-self:start;position:sticky;top:80px}.method-index span{color:var(--grey);font-family:var(--mono);margin-bottom:10px;font-size:.78rem;display:block}.method-index h2{letter-spacing:-.03em;font-size:clamp(1.7rem,2.6vw,2.4rem);line-height:1.05}.method-summary{margin:0 0 18px;font-size:1.2rem;line-height:1.55}.method-items{columns:2;column-gap:28px;margin:0 0 20px;padding:0;list-style:none}.method-items li{border-bottom:1px solid var(--faint);color:var(--grey);break-inside:avoid;padding:8px 0}.method-contrast{border-top:1px solid var(--ink);border-bottom:1px solid var(--faint);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:20px;padding:18px 0;display:grid}.method-contrast>div:last-child p{color:var(--ink)}.method-contrast span,.method-example span{color:var(--grey);font-family:var(--mono);margin-bottom:8px;font-size:.74rem;display:block}.method-contrast p{color:var(--grey);margin:0;line-height:1.55}.method-example{border-left:1px solid var(--ink);margin:0 0 20px;padding:4px 0 4px 20px}.method-example p{margin:0;font-size:1.1rem;line-height:1.55}.method-note{color:var(--grey);margin:0;font-style:italic;line-height:1.55}.guide-section{padding-top:80px;scroll-margin-top:72px}.guide-section h2{max-width:20ch;font-size:clamp(2rem,3.6vw,3.2rem)}.guide-section>p{max-width:40rem;color:var(--grey);margin:16px 0 32px;font-size:1.1rem;line-height:1.55}.say-list{border-top:1px solid var(--ink);counter-reset:say;margin:0;padding:0;list-style:none}.say-list li{border-bottom:1px solid var(--faint);counter-increment:say;grid-template-columns:3rem minmax(0,.7fr) minmax(0,1.4fr) 7rem;align-items:baseline;gap:28px;padding:24px 0;display:grid}.say-list li:before{content:counter(say);font-family:var(--mono);font-size:.78rem}.say-list span{color:var(--grey);font-family:var(--mono);margin-bottom:8px;font-size:.74rem;display:block}.say-dont p{color:var(--grey);margin:0;font-size:1.2rem;text-decoration:line-through;text-decoration-thickness:1px}.say-do p{letter-spacing:-.015em;margin:0;font-size:clamp(1.2rem,1.9vw,1.55rem);line-height:1.2}.test-list{border-top:1px solid var(--ink);counter-reset:test;margin:0;padding:0;list-style:none}.test-list li{border-bottom:1px solid var(--faint);counter-increment:test;gap:16px;padding:14px 0;font-size:1.1rem;display:flex}.test-list li:before{content:counter(test);font-family:var(--mono);padding-top:.3em;font-size:.78rem}.guide-principle{letter-spacing:-.03em;max-width:24ch;margin:96px 0 0;font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.08}.guide-further .cta-row{margin:0}.guide-further{border-top:1px solid var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin-top:64px;padding-top:28px;display:grid}.guide-further .eyebrow{grid-column:1/-1;margin:0}.further-line{letter-spacing:-.025em;margin:0;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.1}@media (width<=1100px){.experience{grid-template-columns:3rem 9rem minmax(0,1fr) auto}.experience-preview{display:none}}@media (width<=980px){.home-hero,.world-head,.thesis,.final{grid-template-columns:minmax(0,1fr)}.home-hero>*,.home-hero-foot,.world-head>*,.world-head h1,.world-intro,.thesis>*,.final>*{grid-column:1/-1}.world-body,.tool-body,.site-footer,.guide-hero,.guide-body,.method-step,.home-default,.experiences-head,.contrast-head,.break-head,.builder,.method-columns{grid-template-columns:minmax(0,1fr)}.home-default{gap:40px}.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-hover{grid-column:auto}.break-section-head{grid-template-columns:3rem minmax(0,1fr)}.break-section-head p{grid-column:2}.builder-output{position:static}.guide-hero{gap:0}.break-section,.world{padding-top:64px;padding-bottom:64px}.thesis{padding:64px 0 72px}.tool-input{border-bottom:1px solid var(--ink);position:static}.report{border-left:0}.dropzone{min-height:240px}.tool-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-steps li:nth-child(3){border-left:0}.tool-steps li:nth-child(-n+2){border-bottom:1px solid var(--faint)}.break-rows li{grid-template-columns:minmax(0,1fr) 160px;gap:24px}.guide-toc,.method-index{position:static}.method-step{gap:16px}.final{padding:72px 0}}@media (width<=680px){.app-shell{padding:0 16px 24px}.site-header{flex-wrap:wrap;gap:8px 16px}.header-cta{display:none}.main-nav{order:3;gap:6px 18px;width:100%}.home-hero{padding:48px 0}.home-default,.experiences{padding:56px 0}.mini-site{padding:12px 14px 14px}.mini-nav span{display:none}.experience{grid-template-columns:2.5rem minmax(0,1fr);gap:8px 12px;padding:20px 0}.experience-copy,.experience-action{grid-column:2}.experience-action{justify-self:start}.catalogue{padding-top:64px;padding-bottom:64px}.catalogue-grid{grid-template-columns:minmax(0,1fr)}.catalogue-typography{grid-row:auto}.contrast-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contrast-row .contrast-category{border-bottom:0;grid-column:1/-1;padding:14px 0 6px!important}.contrast-labels .contrast-category{display:none}.contrast-row>span{padding:12px}.contrast-decided{font-size:1rem}.builder-group{grid-template-columns:minmax(0,1fr);gap:10px}.report-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.say-decides{justify-self:start}.specimen{padding:16px 16px 20px}.specimen-links{display:none}.world.p-bento .specimen-features{grid-template-columns:repeat(2,minmax(0,1fr))}.world.p-bento .specimen-feature:first-child{grid-row:auto}.tool-input,.report{padding:18px}.tool-bar span:last-child{display:none}.report-scale{font-size:.68rem}.report-pattern-head{flex-direction:column;gap:2px}.break-rows li{grid-template-columns:minmax(0,1fr);gap:14px}.break-rows .thumb{max-width:220px}.say-list li,.method-contrast,.colophon div{grid-template-columns:minmax(0,1fr);gap:6px}.say-list li:before{display:none}.method-items{columns:1}.guide-further{grid-template-columns:minmax(0,1fr);justify-items:start}}
