.theme-toggle{font-size:11px;border:1px solid #c8c1ce;border-radius:30px;background:transparent;padding:9px 12px;white-space:nowrap;display:flex;align-items:center;gap:7px}.theme-toggle:hover{background:#e4dcef}.theme-open{overflow:hidden}#ascii-scene,.inline-ascii{display:none}
#theme-dialog{width:min(940px,calc(100% - 40px));max-height:94svh;padding:48px;background:#111;color:#f5f3ed;border:1px solid #3a3a3a;border-radius:25px;box-shadow:0 35px 100px #0008;overflow:auto}#theme-dialog::backdrop{background:#080808ed;backdrop-filter:blur(18px)}#close-theme{position:absolute;right:20px;top:14px;background:transparent;color:#aaa;font-size:28px;width:35px;height:35px}#close-theme[hidden]{display:none}.theme-intro{text-align:center}.theme-kicker{font-family:monospace;font-size:9px;letter-spacing:2px;color:#b7b5b2}#theme-title{font-size:56px;font-weight:500;letter-spacing:-2.5px;line-height:1.1;margin:20px 0 13px}#theme-title em{font-family:Georgia,serif;color:#d4c6eb;font-weight:400}#theme-description{font-size:14px;color:#a5a3a7;margin:0}.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}.theme-choice{padding:0;text-align:left;border:1px solid #454545;border-radius:15px;overflow:hidden;background:#191919;color:#f6f4ed;transition:transform .25s,border-color .25s}.theme-choice:hover{transform:translateY(-6px);border-color:#ddd}.theme-choice:focus-visible{outline:3px solid #d3ed8c;outline-offset:5px}.choice-preview{height:238px;display:flex;position:relative;overflow:hidden;align-items:center;justify-content:center}.playful-preview{background:#e6dcf3;color:#30243e}.choice-preview>strong{font-size:51px;line-height:.95;font-weight:600;letter-spacing:-2.5px;position:relative;z-index:2;transform:rotate(-4deg)}.choice-preview>strong em{font-family:Georgia,serif;font-weight:400}.preview-donut{position:absolute;width:105px;height:105px;border:30px solid #e1a9c7;box-shadow:inset 2px 4px 7px #a87596,4px 7px 0 #aa7f9d,12px 20px 25px #7d609c25;border-radius:50%;left:15px;top:18px;transform:rotateX(25deg) rotateY(30deg)}.preview-star{position:absolute;right:20px;top:18px;color:#8a70b8;font-size:65px;font-style:normal;transform:rotate(15deg)}.preview-ball{position:absolute;right:28px;bottom:22px;height:62px;width:62px;border-radius:50%;background:#d3ed8c;box-shadow:inset -7px -10px 18px #9aaf5b,inset 8px 10px 16px #eefcce}.ascii-preview{background:#050505;color:#f7f7f7}.ascii-preview>strong{font-family:monospace;letter-spacing:-3px;font-size:42px;transform:rotate(0)}.ascii-preview>strong em{font-family:monospace;font-style:normal;font-size:43px}.ascii-preview pre{position:absolute;right:-10px;top:-8px;font:7px/7px 'Courier New',monospace;letter-spacing:0;color:#777;white-space:pre;transform:rotate(15deg);margin:0}.choice-bottom{display:flex;align-items:center;justify-content:space-between;padding:22px 21px;gap:12px}.choice-bottom strong{display:block;font-size:18px;font-weight:550}.choice-bottom small{display:block;font-size:10px;color:#aaa;line-height:1.6;margin-top:7px}.choice-bottom>b{font-size:28px;font-weight:400}.theme-hint{text-align:center;font:10px/1.6 monospace!important;color:#8e8b91!important;margin:25px 0 0!important}
[data-theme=ascii]{color-scheme:dark}[data-theme=ascii] body{background:#080808;color:#f2f2f2}[data-theme=ascii] ::selection{background:#fff;color:#000}[data-theme=ascii] .hero-canvas{display:none}[data-theme=ascii] #ascii-scene{display:block;position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}[data-theme=ascii] .ascii-float{position:absolute;margin:0;font:8px/8.5px 'Courier New',monospace;letter-spacing:0;white-space:pre;color:#d4d4d4;user-select:none;text-shadow:0 0 4px #fff2;will-change:transform}.ascii-donut-one{left:1.8%;top:5%}.ascii-donut-two{right:0;bottom:7%}.ascii-sphere{right:7%;top:1%;font-size:5.6px!important;line-height:6px!important;color:#939393!important}.ascii-cube{left:8%;bottom:7%;font-size:5.6px!important;line-height:6px!important;color:#a0a0a0!important}
[data-theme=ascii] .letter-donut{border:0;background:none;box-shadow:none;animation:none;transform:none;width:.64em;height:.64em;position:relative;margin-left:4px;margin-right:4px}[data-theme=ascii] .letter-donut:before,[data-theme=ascii] .letter-donut:after,[data-theme=ascii] .letter-donut b{display:none}[data-theme=ascii] .inline-ascii{display:block;position:absolute;inset:0;margin:0;font:6.5px/7.8px 'Courier New',monospace;letter-spacing:0;color:#eee;white-space:pre;text-align:center;font-style:normal}
[data-theme=ascii] .wordmark span,[data-theme=ascii] .tiny-star,[data-theme=ascii] .hero-note,[data-theme=ascii] .wave,[data-theme=ascii] .hand-star,[data-theme=ascii] .little-spark{color:#aaa}[data-theme=ascii] .hello,[data-theme=ascii] .theme-toggle,[data-theme=ascii] .motion{border-color:#565656;color:#eee;background:transparent}[data-theme=ascii] .hello:hover,[data-theme=ascii] .theme-toggle:hover{background:#242424}[data-theme=ascii] .hero-center p,[data-theme=ascii] .hero-foot{color:#aaa}[data-theme=ascii] .hello-tag{font-family:monospace;letter-spacing:1.1px}[data-theme=ascii] .round-button{background:#eee;color:#111}[data-theme=ascii] .round-button span{background:#191919;color:#fff}[data-theme=ascii] .shuffle{border-color:#666}[data-theme=ascii] .shuffle:hover{color:white}[data-theme=ascii] .ticker{background:#eaeaea;color:#087c36;border-color:#888}[data-theme=ascii] .ticker-track span{font-family:"Courier New",monospace;font-weight:700;letter-spacing:2px;text-shadow:0 0 6px #00b84b30}[data-theme=ascii] .work{background:#101010}[data-theme=ascii] .work-heading p{color:#aaa}[data-theme=ascii] .outline-star,[data-theme=ascii] .orbit,[data-theme=ascii] .doodle-wave{color:#292929;border-color:#292929}[data-theme=ascii] .bg-word{color:#242424}[data-theme=ascii] .heading-spark{color:#aaa}[data-theme=ascii] .project-card{background:#181818;border-color:#777;box-shadow:0 7px 0 #0005}[data-theme=ascii] .chess-card{background:#202020}[data-theme=ascii] .hacked-card{background:#141414}[data-theme=ascii] .wallet-card{background:#242424}[data-theme=ascii] .status,[data-theme=ascii] .chips span{border-color:#666}[data-theme=ascii] .status i{background:#ddd}[data-theme=ascii] .project-description{color:#bdbdbd}[data-theme=ascii] .solid-button{background:#eee;color:#111;border-color:#eee}[data-theme=ascii] .solid-button:hover{background:#ccc}[data-theme=ascii] .story-button{border-color:#aaa;color:#eee}[data-theme=ascii] .card-bottom{border-color:#555;color:#c9c9c9}[data-theme=ascii] .screenshot-note,[data-theme=ascii] .chess-caption,[data-theme=ascii] .visual-caption{color:#ccc}[data-theme=ascii] .screen-frame{background:#424242;border-color:#888;box-shadow:8px 12px 0 #0008}[data-theme=ascii] .screen-bar{color:#ddd}[data-theme=ascii] .screen-frame img{border-color:#777}[data-theme=ascii] .shipped,[data-theme=ascii] .result-sticker,[data-theme=ascii] .won-sticker,[data-theme=ascii] .limit-sticker{background:#ddd;color:#111;border-color:#888;box-shadow:3px 4px 0 #000}[data-theme=ascii] .learning-note{color:#111}[data-theme=ascii] .mini-card{background:#1c1c1c;color:#eee;border-color:#777;box-shadow:4px 5px 0 #000}[data-theme=ascii] .mini-card p{color:#aaa}[data-theme=ascii] .mini-icon,[data-theme=ascii] .pixel-character{color:#ccc}[data-theme=ascii] .about p{color:#b6b6b6}[data-theme=ascii] .about-sticker{background:#ddd;color:#111;box-shadow:8px 8px 0 #333;border-color:#888}[data-theme=ascii] .about-doodles>span{color:#999}[data-theme=ascii] .about-doodles svg{stroke:#999}[data-theme=ascii] .text-link{border-color:#999}[data-theme=ascii] .contact{background:#000;border-top:1px solid #444;color:#eee}[data-theme=ascii] .contact h2 em,[data-theme=ascii] #copy-status{color:#fff}[data-theme=ascii] .contact-circle{background:#eee;color:#111}[data-theme=ascii] .contact-top,[data-theme=ascii] .footer{color:#aaa;border-color:#444}[data-theme=ascii] #copy-email{color:#eee;border-color:#666}[data-theme=ascii] #story-dialog{background:#131313;color:#f4f4f4;border-color:#777;box-shadow:10px 15px 0 #0006}[data-theme=ascii] #story-dialog::backdrop{background:#000c}[data-theme=ascii] #story-dialog p,[data-theme=ascii] #story-dialog ul{color:#bdbdbd}[data-theme=ascii] #close-story{background:#333;color:white}[data-theme=ascii] a:focus-visible,[data-theme=ascii] button:focus-visible{outline-color:white}[data-theme=ascii] .skip{background:#eee;color:#111}
@media(max-width:1100px){[data-theme=ascii] .ascii-float{font-size:6px;line-height:6.5px}.ascii-donut-one{left:0;top:9%}.ascii-donut-two{right:-2%}.ascii-cube{left:5%}.ascii-sphere{right:4%}[data-theme=ascii] .inline-ascii{font-size:5px;line-height:6px}}
@media(max-width:760px){.header{gap:10px}.header nav{gap:14px}.theme-toggle{padding:8px 10px;font-size:10px}.theme-toggle span{display:none}#theme-dialog{padding:32px 20px;width:calc(100% - 28px);border-radius:20px}#theme-title{font-size:39px;letter-spacing:-2px;margin-top:16px}.theme-kicker{font-size:7px;letter-spacing:1px}#theme-description{font-size:12px}.theme-options{gap:12px;margin-top:25px}.choice-preview{height:170px}.choice-preview>strong{font-size:37px;letter-spacing:-2px}.ascii-preview>strong,.ascii-preview>strong em{font-size:29px;letter-spacing:-2px}.preview-donut{width:75px;height:75px;border-width:22px;left:-10px;top:12px}.preview-star{font-size:40px;right:8px;top:12px}.preview-ball{width:38px;height:38px;right:10px;bottom:14px}.choice-bottom{padding:16px 13px;gap:5px}.choice-bottom strong{font-size:15px}.choice-bottom small{font-size:9px;line-height:1.5}.choice-bottom>b{font-size:20px}.theme-hint{font-size:8px!important}.ascii-preview pre{font-size:4.5px;line-height:4.5px;right:-15px}.ascii-donut-one{left:-5%;top:3%}.ascii-donut-two{right:-4%;bottom:8%}[data-theme=ascii] .ascii-float{font-size:4px;line-height:4.5px}.ascii-sphere{right:3%;top:3%;font-size:3px!important;line-height:3.2px!important}.ascii-cube{left:4%;bottom:9%;font-size:3px!important;line-height:3.2px!important}[data-theme=ascii] .inline-ascii{font-size:3.8px;line-height:4.4px;top:4px}[data-theme=ascii] .hello-tag{font-size:6px;letter-spacing:.4px}}
@media(max-width:440px){.header nav>a:not(.hello){display:none}.header nav{gap:0}.header{gap:10px}.theme-toggle span{display:inline}.header .hello{padding:9px 12px;gap:9px}.theme-options{grid-template-columns:1fr}.choice-preview{height:142px}.theme-choice{display:grid;grid-template-columns:1fr 1fr}.choice-preview>strong{font-size:35px}.ascii-preview>strong,.ascii-preview>strong em{font-size:28px}.choice-bottom{padding:18px 13px}.choice-bottom small{font-size:10px}.choice-bottom strong{font-size:18px}.choice-bottom>b{font-size:22px}.theme-hint{margin-top:20px!important}.theme-intro{text-align:left}#theme-title{font-size:38px}#theme-dialog{padding:34px 20px 22px}}

/* Keep every text sculpture crisp, and the letter torus legible at any heading size. */
[data-theme=ascii] .ascii-float{font-weight:700;color:#fff;text-shadow:0 0 3px #fff3}
[data-theme=ascii] .inline-ascii{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.058em;line-height:1;font-weight:700;width:max-content;color:#fff}
.ascii-preview pre{color:#bcbcbc;font-weight:700}

[data-theme=ascii] .hero .hello-tag{font-size:11px}@media(max-width:760px){[data-theme=ascii] .hero .hello-tag{font-size:9px;letter-spacing:.4px}}

#theme-title{margin-bottom:0}.theme-options{margin-top:28px}@media(max-width:760px){.theme-options{margin-top:22px}}
