/* Component styles load separately in their named layer with a content hash. */
:root {
 color-scheme:light;
 --surface:#fff; --page-bg:#fff; --text:#171717; --body-text:#424242;
 --secondary:#666; --overlay-text:#555; --muted:#737373;
 --accent:#3295d2; --accent-soft:#8acbf2; --accent-strong:#176b9e;
 --particle-title:#368fca; --particle-lyric:#65acd9;
 --button-text:#176b9e; --announcement-text:#286f9b; --subtle-accent:#4c91bc; --border:#dedede;
 --divider:#ebebeb; --button-bg:#f5f5f5; --track:#e8e8e8;
 --board-bg:#f4f5f6; --tile-start:#fff; --tile-end:#f3f4f5;
 --tile-border:#d8dadd; --selected-start:#e5f2ff; --selected-end:#cee5ff;
 --modal-bg:#fff; --bar-bg:rgba(255,255,255,.97); --overlay-bg:rgba(250,250,250,.93);
 --picker-bg:#fff; --picker-caret:#fff; --picker-border:#dedede;
 --picker-shadow:0 16px 48px #00000018; --picker-item-hover:#f5f5f5;
 --picker-item-active:#eee; --picker-item-ring:#ccc; --picker-btn-open-bg:#202020;
 --picker-btn-open-icon:#fff; --picker-btn-open-shadow:0 4px 12px #0002;
 --mine-stage-bg:#dddfe3; --mine-closed-start:#fff; --mine-closed-end:#d9dce1;
 --mine-closed-border:#b6bbc2; --mine-open-bg:#eef0f3; --mine-open-border:#c9cdd3;
 --mine-stage-inset:inset 0 1px 5px #0001; --mine-closed-shadow:0 2px 4px #0002;
 --mine-closed-bevel:inset 0 1px 0 #fff,inset 0 -2px 3px #0002;
 --mine-closed-hover:0 5px 12px #0003; --mine-open-inset:inset 0 1px 2px #0001;
 --font:Inter,Arial,"PingFang SC","Microsoft YaHei",sans-serif;
}
:root[data-theme="dark"] {
 color-scheme:dark;
 --surface:#202020; --page-bg:#141414; --text:#f1f1f1; --body-text:#cecece;
 --secondary:#aaa; --overlay-text:#bcbcbc; --muted:#a1a1a1;
 --accent:#72c5f3; --accent-soft:#3c96ca; --accent-strong:#9edbfa;
 --particle-title:#77c9f5; --particle-lyric:#a4ddf8;
 --button-text:#9edbfa; --announcement-text:#9edbfa; --subtle-accent:#72bce5; --border:#3d3d3d;
 --divider:#333; --button-bg:#282828; --track:#3b3b3b;
 --board-bg:#25272b; --tile-start:#393c41; --tile-end:#303238;
 --tile-border:#555a62; --selected-start:#254767; --selected-end:#285783;
 --modal-bg:#202020; --bar-bg:rgba(25,25,25,.97); --overlay-bg:rgba(28,28,28,.94);
 --picker-bg:#242424; --picker-caret:#242424; --picker-border:#444;
 --picker-shadow:0 16px 48px #0006; --picker-item-hover:#333;
 --picker-item-active:#3a3a3a; --picker-item-ring:#666; --picker-btn-open-bg:#eee;
 --picker-btn-open-icon:#171717; --picker-btn-open-shadow:0 4px 12px #0004;
 --mine-stage-bg:#303237; --mine-closed-start:#666b75; --mine-closed-end:#454a53;
 --mine-closed-border:#777e88; --mine-open-bg:#25282d; --mine-open-border:#40454d;
 --mine-closed-bevel:inset 0 1px 0 #ffffff30,inset 0 -2px 3px #0005;
}
/* Higher contrast is limited to Minesweeper; the surrounding site keeps its palette. */
:root:not([data-theme="dark"]) #mine-view {
 --mine-stage-bg:#b9c6d6; --mine-closed-start:#b8c8db; --mine-closed-end:#8fa4bd;
 --mine-closed-border:#647c98; --mine-open-bg:#fff; --mine-open-border:#a2b1c4;
 --mine-flag-start:#e3f7fc; --mine-flag-end:#b9e8f2; --mine-flag-border:#438d9f;
 --mine-cancel-bg:#ead1d0; --mine-cancel-border:#ae7471; --mine-cancel-text:#672c29;
}
:root[data-theme="dark"] #mine-view {
 --mine-cancel-bg:#4a2c30; --mine-cancel-border:#965e63; --mine-cancel-text:#f2ced0;
}
* {box-sizing:border-box;}
html {scroll-behavior:smooth;scroll-padding-top:90px;}
body {margin:0;background:var(--page-bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.6;overflow-x:clip;}
button,input,select,textarea {font-family:inherit;}
a {color:inherit;} button {cursor:pointer;}
[hidden] {display:none!important;}
:focus-visible {outline:2px solid var(--accent);outline-offset:4px;}
.skip-link {position:fixed;left:20px;top:-80px;z-index:4000;background:var(--text);color:var(--page-bg);padding:10px 18px;border-radius:10px;}
.skip-link:focus {top:12px;}
.navbar {position:sticky;top:0;left:0;z-index:1000;display:flex;justify-content:flex-start;align-items:center;gap:44px;width:100%;min-height:76px;padding:0 max(32px,calc((100vw - 1240px)/2));background:var(--bar-bg);border-bottom:1px solid var(--divider);box-shadow:none;backdrop-filter:blur(18px);}
.site-name {font-size:20px;letter-spacing:-.04em;font-weight:750;text-decoration:none;flex:none;}
.nav-links {display:flex;align-items:stretch;gap:28px;padding:0;margin:0;list-style:none;align-self:stretch;}
.nav-links li {display:flex;}
.nav-link {position:relative;display:flex;align-items:center;padding:0;color:var(--secondary);font-size:14px;font-weight:500;text-decoration:none;border-radius:0;background:none;transition:color .2s;}
.nav-link:hover,.nav-link.active {color:var(--text);background:none;transform:none;}
.nav-link::after {content:"";position:absolute;left:0;right:0;bottom:16px;height:1px;background:currentColor;transform:scaleX(0);transition:transform .2s;}
.nav-link.active::after,.nav-link:hover::after {width:auto;transform:scaleX(1);background:var(--accent);}
.nav-actions {margin-left:auto;display:flex;align-items:center;gap:8px;flex:none;}
.nav-icon-button {position:static;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);font-size:16px;box-shadow:none;flex:none;transition:border-color .2s,color .2s,background .2s,transform .2s;}
.nav-icon-button:hover {border-color:var(--accent);color:var(--accent-strong);background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%);transform:translateY(-1px);}
.nav-icon-button i {font-size:16px;line-height:1;}
.music-quick-toggle[aria-pressed="true"] {color:var(--accent-strong);border-color:var(--accent);background:color-mix(in srgb,var(--surface) 86%,var(--accent) 14%);}
.page-container {width:min(1200px,calc(100% - 64px));margin:0 auto;padding:0;overflow:visible;position:relative;z-index:2;min-height:calc(100vh - 240px);}
.page {display:none;opacity:1;min-height:0;width:100%;padding:64px 0 80px;overflow:visible;}
.page.active {display:block;animation:none;}
#home {text-align:left;position:relative;z-index:1;padding:0;}
#home.active {display:block;}
.page-title,.section-heading h1 {color:var(--text);font-size:clamp(34px,4.6vw,56px);font-weight:550;letter-spacing:-.045em;line-height:1.15;text-align:left;margin:0 0 24px;text-shadow:none;}
.page-title::after {display:none;}
.page-title-row {justify-content:flex-start;gap:18px;margin:0 0 36px;}
.page-title-row .page-title {margin:0;}
.eyebrow {font-size:11px;letter-spacing:.15em;line-height:1.5;font-weight:650;color:var(--accent-strong);margin:0 0 18px;}
.section-heading h2 {font-size:clamp(29px,3.5vw,46px);line-height:1.2;letter-spacing:-.035em;font-weight:550;margin:0 0 20px;}
.section-heading>p:last-child {max-width:600px;font-size:16px;line-height:1.8;color:var(--secondary);margin:0;}
.particle-title-stage {width:min(820px,100%);height:clamp(240px,25vw,340px);margin:76px auto 0;touch-action:pan-y;}
.birthday-text {font-size:clamp(52px,7.8vw,96px);font-weight:550;letter-spacing:-.055em;line-height:1.15;text-shadow:none;color:var(--text);}
.particle-title-stage .birthday-text {margin-bottom:20px;}
.birthday-text span {animation:none;opacity:1;transform:none;}
.subtitle {color:var(--secondary);font-size:18px;text-shadow:none;}
.home-intro {text-align:center;margin:28px auto 70px;position:relative;z-index:4;}
.home-intro>p {font-size:18px;color:var(--secondary);margin-bottom:28px;}
.pill-link {display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:12px 23px;border:1px solid var(--border);border-radius:99px;background:var(--surface);color:var(--text);text-decoration:none;font-size:14px;line-height:1.5;transition:background .2s,transform .2s;}
.pill-link:hover {background:color-mix(in srgb,var(--surface) 91%,var(--accent) 9%);border-color:var(--accent-soft);color:var(--accent-strong);transform:translateY(-2px);}
.home-section {padding:76px 0;border-top:1px solid var(--divider);}
.home-section>.section-heading {margin-bottom:38px;}
.feature-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.feature-card {display:flex;flex-direction:column;text-decoration:none;min-width:0;}
.feature-art {height:260px;border-radius:20px;overflow:hidden;transition:transform .3s;}
.feature-card:hover .feature-art {transform:translateY(-5px);}
.feature-copy {padding:25px 3px 0;}
.feature-copy h3 {display:flex;justify-content:space-between;font-size:21px;font-weight:550;letter-spacing:-.03em;margin:12px 0;}
.feature-copy h3>span {font-weight:400;}
.feature-copy p {color:var(--secondary);font-size:14px;margin:0 0 20px;line-height:1.8;}
.text-link {font-size:13px;color:var(--accent-strong);text-decoration:underline;text-decoration-color:var(--accent-soft);text-underline-offset:5px;}
.feature-carousel {position:relative;--preview-play-state:paused;}
.feature-carousel.is-preview-visible .tools-slide.is-active {--preview-play-state:running;}
.type-art {background:#e9edf5;color:#293243;}
.feature-carousel-card>.feature-copy {display:block;color:inherit;text-decoration:none;}
.tools-slide {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px 16px 40px;visibility:hidden;background:#e9edf5;transform:translateX(100%);opacity:0;transition:transform .45s cubic-bezier(.22,.61,.36,1),opacity .35s;pointer-events:none;}
.tools-slide.from-left {transform:translateX(-100%);}
.tools-slide.is-active {visibility:visible;transform:translateX(0);opacity:1;}
.tools-slide.is-leaving {visibility:visible;transform:translateX(-100%);}
.tools-slide.is-leaving.to-right {transform:translateX(100%);}
.tools-slide-label {position:absolute;top:22px;left:24px;font-size:11px;font-weight:550;letter-spacing:.03em;color:#6f7c90;}
.tools-slide-word {font-size:64px;font-weight:650;letter-spacing:-.06em;line-height:1.15;}
.tools-slide-result {padding:10px 25px;border-radius:11px;background:#fff;font-size:15px;line-height:1.4;transform:rotate(-4deg);box-shadow:0 5px 18px #0000000d;}
.tools-slide-result>i {font-size:14px;margin-right:5px;}
.tools-slide-decoder {background:#e6eeeb;color:#345c50;}
.tools-decoder-text {display:flex;align-items:center;gap:14px;font:14px/1.4 monospace;letter-spacing:.02em;color:#6b877b;}
.tools-decoder-text>span:nth-child(2) {color:#9aafa4;}
.tools-decoder-block {display:grid;place-items:center;padding:16px 20px;border:1px solid #b9cfc4;border-radius:13px;background:#f8fcf9;box-shadow:0 7px 18px #345c5012;transform:rotate(-4deg);}
.tools-slide-from {font-size:28px;font-weight:550;line-height:1.2;letter-spacing:-.05em;color:#345c50;}
.tools-slide-favicon {background:#eeebf5;}
.tools-browser {width:84%;max-width:292px;border:1px solid #d1d7e3;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 10px 24px #3a456b12;transform:rotate(-3deg);}
.tools-browser-tabs {display:flex;align-items:center;gap:11px;padding:7px 9px 0;background:#e0e4ed;}
.tools-browser-tab {display:flex;align-items:center;gap:8px;flex:1;min-width:0;max-width:180px;padding:7px 9px;border-radius:7px 7px 0 0;background:#fff;font-size:10px;}
.tools-browser-tab>b {display:grid;place-items:center;flex:none;width:20px;height:20px;border-radius:5px;background:#657aa7;color:#fff;font-size:14px;font-weight:550;}
.tools-browser-tab>span {flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.tools-browser-tab>i,.tools-browser-tabs>.fa-plus {font-size:8px;color:#8c95a7;}
.tools-browser-address {display:flex;align-items:center;gap:6px;margin:9px 10px;padding:5px 8px;border-radius:6px;background:#f2f4f8;color:#8a94a7;font:8px/1.3 monospace;}
.tools-browser-address>i {font-size:7px;}
.tools-browser-page {display:grid;gap:6px;padding:5px 13px 17px;}
.tools-browser-page>i {width:65%;height:4px;border-radius:2px;background:#e9edf4;}.tools-browser-page>i:last-child {width:42%;}
.tools-slide-text .tools-slide-word {font:550 29px/1.2 monospace;letter-spacing:-.05em;}
.tools-slide-history {background:#f3e9ed;}
.tools-slide-history>.tools-slide-word {font-size:68px;color:#b27b92;}
.tools-slide-link {position:absolute;z-index:2;inset:0;}
.tools-slide-controls {position:absolute;z-index:3;top:50%;left:12px;right:12px;display:flex;justify-content:space-between;align-items:center;transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity .18s;}
.feature-carousel-card:hover .tools-slide-controls,.feature-carousel-card:focus-within .tools-slide-controls {opacity:1;}
.feature-carousel-card:hover .tools-slide-controls button,.feature-carousel-card:focus-within .tools-slide-controls button {pointer-events:auto;}
.tools-slide-controls[hidden],.tools-slide-dots[hidden] {display:none;}
.tools-slide-controls button,.tools-slide-dots button {display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:#ffffff80;color:#65758d;cursor:pointer;font:inherit;font-size:10px;}
.tools-slide-controls button:hover {background:#fff;}
.tools-slide-dots {position:absolute;z-index:3;bottom:8px;left:50%;display:flex;transform:translateX(-50%);}
.tools-slide-dots>button {width:24px;height:24px;background:transparent;}
.tools-slide-dots>button::after {content:'';width:5px;height:5px;border-radius:3px;background:#b6c0d0;transition:width .2s,background .2s;}
.tools-slide-dots>button[aria-pressed="true"]::after {width:12px;background:#637a9e;}
@media(hover:none) {.tools-slide-controls {opacity:1;}.tools-slide-controls button {pointer-events:auto;}}
@media(prefers-reduced-motion:reduce) {.tools-slide,.tools-slide-controls {transition:none;}}
.game-art {background:#e4ece6;color:#192b20;}
.game-slide-link,.game-slide-wordle {background:#e4ece6;}
.game-slide-mine {background:#e6ecf2;}
.game-slide-spider {background:#e4ede9;}
.game-slide-gomoku {background:#efe8dd;}
.demo-boss {display:grid;gap:20px;width:190px;transform:rotate(-4deg);}
.demo-boss-head {display:flex;align-items:center;gap:14px;}.demo-boss-head>.fa-robot {font-size:39px;color:#aa6d68;}.demo-boss-head>div {display:grid;gap:7px;flex:1;}.demo-boss-head b {font-size:11px;letter-spacing:.12em;color:#9d6a63;}.demo-boss-head span {display:block;height:7px;border-radius:5px;background:#d9d6cb;overflow:hidden;}.demo-boss-head span>i {display:block;width:62%;height:100%;border-radius:5px;background:#bd7f72;}
.demo-boss-match {display:flex;align-items:center;justify-content:center;gap:24px;position:relative;}.demo-boss-match::before {content:'';position:absolute;width:105px;border-top:2px dashed #a5bda5;}.demo-boss-match>span {position:relative;display:grid;place-items:center;width:47px;height:47px;border:1px solid #d2ddcb;border-radius:12px;background:#fffdf3;box-shadow:0 4px 10px #2945300d;color:#b49a58;font-size:25px;}.demo-boss-hit {position:relative;padding:4px;background:#e4ece6;color:#9c7060;font-size:16px;}
.demo-mine {display:grid;grid-template-columns:repeat(5,28px);gap:3px;padding:8px;border-radius:10px;background:#c5d0dc;transform:rotate(-6deg);box-shadow:0 8px 20px #42587112;}
.demo-mine>* {display:grid;place-items:center;width:28px;height:28px;border-radius:3px;background:#ecf0f4;color:#617da3;font:600 15px/1 monospace;}
.demo-mine>b {background:#aabacc;box-shadow:inset 0 2px #ffffff50;}.demo-mine .fa-flag {color:#ba6f64;font-size:12px;}
.demo-mine>b.special {background:#dce4ee;color:#a66e69;font-size:16px;}.demo-mine>b.imaginary {color:#746d9f;font-family:Georgia,serif;font-style:italic;font-size:21px;}
.demo-wordle-long {width:82%;max-width:252px;display:grid;gap:10px;transform:rotate(-4deg);}
.demo-wordle-answer,.demo-wordle-slots {display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;}
.demo-wordle-answer>i,.demo-wordle-slots>i {display:grid;place-items:center;height:31px;border:1px solid #c0cebf;border-radius:4px;color:#98aa95;font:500 15px/1 monospace;background:#dce5dc;}
.demo-wordle-track {position:relative;height:34px;}.demo-wordle-slots {position:absolute;inset:0;}.demo-wordle-slots>i {height:34px;background:#edf1e9;}
.demo-word {position:absolute;top:0;left:0;width:calc(75% - 1px);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;animation:wordle-window 4s ease-in-out infinite alternate;}
.demo-word b {height:34px;display:grid;place-items:center;background:#5b8465;color:white;font:600 17px/1 monospace;border-radius:4px;}.demo-word b:nth-child(2) {background:#b09b53;}.demo-word b:nth-child(4) {background:#89948c;}
.demo-wordle-range {display:flex;align-items:center;justify-content:space-between;gap:9px;color:#94a28f;font-size:9px;}.demo-wordle-range>span {position:relative;flex:1;height:3px;border-radius:3px;background:#bdcbb8;}.demo-wordle-range>span::after {content:'';position:absolute;top:-2px;left:0;width:40%;height:7px;border-radius:4px;background:#809778;animation:wordle-thumb 4s ease-in-out infinite alternate;}
@keyframes wordle-window {0%,15% {left:0;}85%,100% {left:calc(25% + 1px);}}
@keyframes wordle-thumb {0%,15% {left:0;}85%,100% {left:60%;}}
.demo-playing-cards {display:flex;transform:rotate(-7deg);padding-left:28px;}
.demo-playing-cards>span {position:relative;display:grid;place-items:center;width:70px;height:104px;margin-left:-22px;border:1px solid #d2ded6;border-radius:9px;background:#fff;color:#344b40;font-size:38px;box-shadow:0 6px 15px #263e3112;transform:rotate(-8deg);}
.demo-playing-cards>span:nth-child(2) {transform:translateY(7px) rotate(3deg);}.demo-playing-cards>span:nth-child(3) {transform:translateY(19px) rotate(14deg);}
.demo-playing-cards b {position:absolute;top:9px;left:10px;font:600 16px/1 Georgia,serif;}
.demo-gomoku {position:relative;flex:none;width:160px;height:160px;aspect-ratio:1;border-radius:12px;background:#e2cba8;transform:rotate(-6deg);box-shadow:0 8px 22px #6b523016;}
.demo-gomoku::before {content:'';position:absolute;inset:12.5%;border-right:1px solid #aa9373;border-bottom:1px solid #aa9373;background:linear-gradient(#aa9373 1px,transparent 1px),linear-gradient(90deg,#aa9373 1px,transparent 1px);background-size:25% 25%;}
.demo-gomoku>i {position:absolute;left:calc(12.5% + var(--x)*18.75%);top:calc(12.5% + var(--y)*18.75%);width:13.5%;height:13.5%;border-radius:50%;background:radial-gradient(circle at 35% 28%,#555,#232323 65%);box-shadow:1px 3px 4px #0003;transform:translate(-50%,-50%);}
.demo-gomoku>i.white {background:radial-gradient(circle at 35% 28%,#fff,#eee 65%);}.demo-gomoku>.last::after {content:'';position:absolute;inset:40%;border-radius:50%;background:#c6826a;}
.cup-art,.cup-slide-score {background:#ede8df;color:#3a352b;}
.demo-score {width:80%;max-width:270px;}
.demo-score>span {font-size:9px;letter-spacing:.12em;}
.demo-score strong {display:block;font-size:52px;font-weight:500;letter-spacing:-.06em;line-height:1.7;white-space:nowrap;}
.demo-score strong>.score-unit {font-size:16px;letter-spacing:0;}
.demo-score>div {display:flex;justify-content:space-between;border-top:1px solid #c9c0ae;padding-top:12px;font-size:12px;}
.cup-slide-damage {background:#f0e5df;color:#8b5748;}
.demo-damage {display:flex;flex-direction:column;align-items:center;gap:8px;min-width:180px;padding:15px 20px;border:1px solid #dcc4b9;border-radius:14px;background:#fff9f4;box-shadow:0 8px 20px #8b574812;transform:rotate(-4deg);}
.demo-damage>span {font:10px/1.4 monospace;color:#b08b7d;}.demo-damage>span>b {margin-left:7px;font-size:14px;color:#8b5748;}.demo-damage>.fa-arrow-down {font-size:11px;color:#bc9787;}
.demo-damage>strong {font-size:35px;font-weight:550;line-height:1.1;letter-spacing:-.05em;}.demo-damage>strong>.damage-unit {font:10px/1 monospace;letter-spacing:0;}
.demo-damage>div {display:flex;gap:4px;width:100%;margin-top:3px;}.demo-damage>div>i {height:5px;flex:1;border-radius:2px;background:#c58f76;}.demo-damage>div>i:nth-child(2) {opacity:.7;}.demo-damage>div>i:nth-child(3) {opacity:.4;}
.tools-type-entry {width:4ch;font-family:monospace;letter-spacing:0;}
.tools-type-text {display:block;box-sizing:content-box;width:4ch;overflow:hidden;white-space:nowrap;border-right:2px solid transparent;animation:preview-type 1.25s steps(4,end) .25s both,preview-type-caret .55s steps(1) .25s 4 both;}
.tools-slide-acronym .tools-slide-result {animation:preview-typed-result 3.6s ease-out both;}
.tools-decoder-text>span:first-child {animation:preview-cipher 3.6s ease-in-out both;}
.tools-decoder-text>span:nth-child(2) {animation:preview-decode-arrow 3.6s ease-out both;}
.tools-decoder-text>span:last-child {animation:preview-plaintext 3.6s ease-out both;}
.tools-decoder-block {animation:preview-decoder 3.6s ease-out both;}
.tools-slide-favicon .tools-browser {animation:preview-browser 3.6s ease-out both;}
.tools-browser-tab>b {animation:preview-tab-icon 3.6s ease-out both;}
.tools-favicon-fly {position:absolute;left:50%;top:50%;display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:#657aa7;color:#fff;font-size:38px;font-weight:550;opacity:0;transform:translate(-50%,-50%);animation:preview-favicon-land 3.6s cubic-bezier(.4,0,.2,1) both;}
.tools-markdown-source {position:relative;color:#a1a8b4;animation:preview-markdown-dim 3.6s ease-out both;}
.tools-markdown-source::after {content:'';position:absolute;top:52%;left:0;width:100%;height:2px;background:#7c8799;transform-origin:left;animation:preview-markdown-strike 3.6s ease-out both;}
.tools-markdown-plain {font-size:24px;font-weight:450;color:#39485f;animation:preview-markdown-plain 3.6s ease-out both;}
.tools-television {position:relative;width:70px;height:57px;margin-top:12px;border:8px solid #b27b92;border-radius:12px;color:#b27b92;}
.tools-television::before,.tools-television::after {content:'';position:absolute;top:-20px;width:7px;height:20px;border-radius:5px;background:currentColor;}.tools-television::before {left:9px;transform:rotate(-38deg);}.tools-television::after {right:9px;transform:rotate(38deg);}
.tools-television>span {display:flex;align-items:center;justify-content:center;gap:14px;height:100%;}.tools-television>span>i {width:7px;height:17px;border-radius:4px;background:currentColor;animation:preview-tv-blink 3.6s ease-in-out infinite;}
.demo-boss-head span>i {animation:preview-health 3.5s ease-in-out infinite;}
.demo-boss-match>span {animation:preview-match 3.5s ease-in-out infinite;}.demo-boss-match>span:last-child {animation-delay:.15s;}
.demo-boss-hit {animation:preview-reveal 3.5s ease-in-out infinite;}
.demo-mine-target {position:relative;}
.demo-mine-cover {position:absolute;inset:0;z-index:1;border-radius:3px;background:#aabacc;box-shadow:inset 0 2px #ffffff50;opacity:0;animation:preview-mine-cover 3.6s linear both;}
.demo-mine-value {position:relative;z-index:2;animation:preview-mine-value 3.6s ease-out both;}
.demo-mine-blast {position:absolute;z-index:3;inset:-6px;clip-path:polygon(50% 0,60% 30%,85% 10%,75% 40%,100% 50%,75% 60%,85% 90%,60% 75%,50% 100%,40% 75%,10% 90%,25% 60%,0 50%,25% 40%,10% 10%,40% 30%);background:#d2a06f;opacity:0;animation:preview-mine-blast 3.6s ease-out both;}
.demo-mine-pointer {position:absolute;z-index:4;right:-5px;bottom:-8px;color:#66778a;font-size:17px;font-style:normal;filter:drop-shadow(1px 1px #fff);opacity:0;animation:preview-mine-click 3.6s ease-out both;}
.demo-playing-cards>span {animation:preview-card-deal .55s ease-out .2s both;}.demo-playing-cards>span:nth-child(2) {animation-delay:.65s;}.demo-playing-cards>span:nth-child(3) {animation-delay:1.1s;}
.demo-gomoku>.last {animation:preview-stone 3.2s ease-in-out infinite;}
.rolling-number {display:inline-flex;align-items:baseline;font-variant-numeric:tabular-nums;letter-spacing:-.06em;line-height:1;vertical-align:baseline;}
.number-reel {display:inline-block;width:.57em;height:1em;overflow:hidden;vertical-align:bottom;}
.number-track {display:block;transform:translateY(calc(var(--roll-steps)*-1em));animation:preview-number-roll 2.1s cubic-bezier(.12,.65,.18,1) var(--roll-delay) both;}
.number-track>i {display:block;height:1em;line-height:1;font:inherit;font-style:normal;}
.tools-type-text,.tools-slide-acronym .tools-slide-result,.tools-decoder-text>span,.tools-decoder-block,.tools-slide-favicon .tools-browser,.tools-browser-tab>b,.tools-favicon-fly,.tools-markdown-source,.tools-markdown-source::after,.tools-markdown-plain,.tools-television>span>i,.demo-boss-head span>i,.demo-boss-match>span,.demo-boss-hit,.demo-mine-cover,.demo-mine-value,.demo-mine-blast,.demo-mine-pointer,.demo-playing-cards>span,.demo-word,.demo-wordle-range>span::after,.demo-gomoku>.last,.number-track {animation-play-state:var(--preview-play-state);}
.feature-carousel .tools-slide:not(.is-active) *,.feature-carousel .tools-slide:not(.is-active) *::after {animation-name:none;}
@keyframes preview-type {from {width:0;}to {width:4ch;}}
@keyframes preview-type-caret {0%,50% {border-color:currentColor;}51%,100% {border-color:transparent;}}
@keyframes preview-typed-result {0%,44% {opacity:0;translate:0 7px;}58%,100% {opacity:1;translate:0 0;}}
@keyframes preview-cipher {0%,18% {translate:38px 0;}45%,100% {translate:0 0;}}
@keyframes preview-decode-arrow {0%,39% {opacity:0;}52%,100% {opacity:1;}}
@keyframes preview-plaintext {0%,50% {opacity:0;translate:0 4px;}68%,100% {opacity:1;translate:0 0;}}
@keyframes preview-decoder {0%,24% {opacity:0;translate:0 8px;}46%,100% {opacity:1;translate:0 0;}}
@keyframes preview-browser {0%,15% {opacity:.25;}48%,100% {opacity:1;}}
@keyframes preview-tab-icon {0%,57% {opacity:0;}65%,100% {opacity:1;}}
@keyframes preview-favicon-land {0%,18% {opacity:1;transform:translate(-50%,-50%) scale(1);}57%,62% {opacity:1;transform:translate(calc(-50% + var(--favicon-x)),calc(-50% + var(--favicon-y))) scale(.35714) rotate(-3deg);}70%,100% {opacity:0;transform:translate(calc(-50% + var(--favicon-x)),calc(-50% + var(--favicon-y))) scale(.35714) rotate(-3deg);}}
@keyframes preview-markdown-dim {0%,30% {color:#293243;}55%,100% {color:#a1a8b4;}}
@keyframes preview-markdown-strike {0%,30% {scale:0 1;}50%,100% {scale:1 1;}}
@keyframes preview-markdown-plain {0%,51% {opacity:0;translate:0 10px;}73%,100% {opacity:1;translate:0 0;}}
@keyframes preview-tv-blink {0%,48%,54%,64%,70%,100% {scale:1 1;}51%,67% {scale:1 .08;}}
@keyframes preview-mine-cover {0%,27% {opacity:1;}34%,100% {opacity:0;}}
@keyframes preview-mine-value {0%,44% {opacity:0;scale:.7;}60%,100% {opacity:1;scale:1;}}
@keyframes preview-mine-blast {0%,27% {opacity:0;scale:.2;}31% {opacity:1;scale:.6;}46%,100% {opacity:0;scale:2.1;}}
@keyframes preview-mine-click {0% {opacity:0;translate:20px 18px;}16%,24% {opacity:1;translate:0 0;scale:1;}28% {opacity:1;translate:0 0;scale:.8;}34%,100% {opacity:0;translate:0 0;scale:1;}}
@keyframes preview-card-deal {from {opacity:0;translate:16px -14px;}to {opacity:1;translate:0 0;}}
@keyframes preview-number-roll {from {transform:translateY(0);}to {transform:translateY(calc(var(--roll-steps)*-1em));}}
@keyframes preview-reveal {0%,100% {opacity:.5;}50% {opacity:1;}}
@keyframes preview-health {0%,20%,100% {width:72%;}55%,80% {width:43%;}}
@keyframes preview-match {0%,20%,100% {scale:1;}40% {scale:1.08;}60% {scale:1;}}
@keyframes preview-stone {0%,20%,100% {scale:1;opacity:.75;}55% {scale:1.08;opacity:1;}}
@media(prefers-reduced-motion:reduce) {.feature-carousel .tools-slide *,.feature-carousel .tools-slide *::after {animation:none;}}
.music-feature,.about-feature {display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;}
.music-feature .section-heading,.about-feature .section-heading {margin-bottom:0;}
.music-feature .pill-link,.about-feature .pill-link {margin-top:28px;}
.record-art {position:relative;height:370px;background:#f0eded;display:grid;place-items:center;border-radius:24px;overflow:hidden;--record-play-state:paused;}
.record-art.is-animating {--record-play-state:running;}
.record {position:relative;width:280px;height:280px;background:repeating-radial-gradient(circle,#262626 0 2px,#181818 3px 6px);border-radius:50%;display:grid;place-items:center;box-shadow:16px 20px 30px #0002;animation:record-spin 16s linear infinite;animation-play-state:var(--record-play-state);}
.record::after {content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 25deg,transparent 0 17%,#ffffff10 22%,transparent 27% 67%,#ffffff0c 72%,transparent 77%);}
.record span {border-radius:50%;width:100px;height:100px;display:grid;place-content:center;background:#b85540;color:#fff;text-align:center;font-size:17px;letter-spacing:.15em;line-height:1.6;}
.record-tonearm {position:absolute;top:45px;right:15%;width:12px;height:150px;border:4px solid #a69c94;border-top:0;border-right:0;border-radius:0 0 0 12px;transform:rotate(26deg);transform-origin:6px 0;animation:record-arm 5s ease-in-out infinite alternate;animation-play-state:var(--record-play-state);filter:drop-shadow(3px 3px 2px #0002);}
.record-tonearm::before {content:'';position:absolute;top:-8px;left:-10px;width:24px;height:24px;border:5px solid #b7ada4;border-radius:50%;background:#e3dcd6;}.record-tonearm>i {position:absolute;bottom:-12px;left:-9px;width:17px;height:30px;border-radius:4px;background:#5c5550;transform:rotate(-15deg);}
.record-equalizer {position:absolute;right:24px;bottom:23px;display:flex;align-items:end;gap:4px;height:25px;}
.record-equalizer>i {width:4px;height:23px;border-radius:3px;background:#b87563;transform-origin:bottom;animation:record-level .9s ease-in-out infinite alternate;animation-play-state:var(--record-play-state);}.record-equalizer>i:nth-child(2) {animation-delay:-.4s;animation-duration:.7s;}.record-equalizer>i:nth-child(3) {animation-delay:-.7s;animation-duration:1.1s;}.record-equalizer>i:nth-child(4) {animation-delay:-.2s;animation-duration:.8s;}.record-equalizer>i:nth-child(5) {animation-delay:-.5s;animation-duration:1.2s;}
@keyframes record-spin {from {transform:rotate(-18deg);}to {transform:rotate(342deg);}}
@keyframes record-arm {from {transform:rotate(26deg);}to {transform:rotate(28deg);}}
@keyframes record-level {from {transform:scaleY(.25);}to {transform:scaleY(1);}}
@media(prefers-reduced-motion:reduce) {.record,.record-tonearm,.record-equalizer>i {animation:none;}.record {transform:rotate(-18deg);}}
.about-note {padding:42px;background:var(--button-bg);border-radius:22px;}
.about-note>span {font-size:11px;color:var(--secondary);letter-spacing:.13em;}
.about-note p {font-size:clamp(23px,2.8vw,34px);line-height:1.65;letter-spacing:-.02em;margin:30px 0;}
.settings-feature {display:flex;align-items:center;justify-content:space-between;gap:30px;}
.settings-feature h2 {font-size:32px;font-weight:550;letter-spacing:-.03em;margin:0 0 16px;}
.settings-feature p:last-child {color:var(--secondary);}.settings-feature .pill-link {flex:none;}
.site-footer {max-width:1200px;margin:0 auto;padding:32px 0 125px;border-top:1px solid var(--divider);display:flex;align-items:center;gap:32px;color:var(--secondary);font-size:12px;}
.site-footer>a:first-child {color:var(--text);font-size:17px;font-weight:700;text-decoration:none;}
.site-footer>a:last-child {margin-left:auto;text-decoration:none;}
.announce-archive {max-width:none;width:100%;margin:38px 0 52px;padding:0;border:none;background:none;box-shadow:none;}
.archive-title {color:var(--secondary);font-size:14px;font-weight:500;margin:0 0 16px;}
.announce-list {gap:12px;}
.announce-item {background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:none;overflow:hidden;}
.announce-item:hover {box-shadow:none;transform:none;border-color:var(--accent-soft);}
.announce-item-head {padding:22px 24px;gap:18px;}
.announce-ver {border-radius:8px;background:color-mix(in srgb,var(--surface) 72%,var(--accent) 28%);color:var(--accent-strong);font-size:12px;}
.announce-item-title {color:var(--announcement-text);font-size:16px;}.announce-date,.announce-arrow {color:var(--secondary);}
.announce-item-body {height:0;max-height:none;overflow:hidden;color:var(--body-text);font-size:14px;line-height:1.9;border-color:var(--divider);transition:height .32s cubic-bezier(.4,0,.2,1);will-change:height;}
.announce-item-body p {box-sizing:border-box;margin:0;padding:12px 24px 24px;border-top:1px solid var(--divider);color:var(--body-text);font:inherit;line-height:inherit;text-align:left;}
.announce-item.expanded .announce-item-body {max-height:none;}
.about-content {background:var(--button-bg);color:var(--body-text);border:1px solid var(--divider);border-radius:20px;padding:38px;box-shadow:none;max-width:none;margin:0;font-size:15px;line-height:1.9;}
.about-content p {color:var(--body-text);}.about-content a {text-decoration:underline;text-underline-offset:4px;}
.about-flame-stage {margin-top:52px;}
.game-container,.utility-panel {max-width:none;width:100%;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:none;margin:0;}
.utility-view {background:transparent;color:var(--text);}.acronym-intro {text-align:left;}
.acronym-hero {text-align:left;}
.acronym-intro h3 {color:var(--text);font-size:28px;}.acronym-intro p,.acronym-help,.utility-credit {color:var(--secondary);}
.acronym-results {background:var(--button-bg);border:1px solid var(--divider);border-radius:14px;}
.game-btn,.diff-btn,.mine-diff-btn,.spider-diff-btn {border-radius:9px;box-shadow:none;}
.game-btn.primary {background:var(--accent);color:#fff;border-color:var(--accent);}.game-btn.primary:hover {background:var(--accent-strong);border-color:var(--accent-strong);}
.game-picker-btn {border-radius:50%;box-shadow:none;background:var(--button-bg);color:var(--text);border-color:var(--border);}
.game-picker-menu {border-radius:16px;}
.settings-dialog {background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:22px;box-shadow:0 28px 100px #0004;}
.settings-header {padding:23px 28px;}.settings-header h2 {font-weight:550;}.settings-category {border-radius:10px;}
.settings-close,.reset-settings {border-radius:9px;}.appearance-switch {accent-color:var(--accent);}
.theme-color-row {align-items:center;}
.language-setting-row select {min-width:150px;padding:9px 34px 9px 12px;border:1px solid var(--border);border-radius:9px;background:var(--button-bg);color:var(--text);font:inherit;cursor:pointer;}
.theme-color-control {display:flex;align-items:center;gap:10px;flex:none;}
#theme-color {width:44px;height:34px;padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--surface);cursor:pointer;}
#theme-color::-webkit-color-swatch-wrapper {padding:0;}
#theme-color::-webkit-color-swatch {border:0;border-radius:5px;}
#theme-color::-moz-color-swatch {border:0;border-radius:5px;}
#theme-color-value {min-width:68px;color:var(--secondary);font-size:12px;font-variant-numeric:tabular-nums;}
.theme-color-presets {display:flex;justify-content:flex-end;gap:9px;margin:-3px 0 12px;}
.theme-color-presets button {width:25px;height:25px;padding:0;border:2px solid var(--surface);border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px var(--border);transition:transform .18s,box-shadow .18s;}
.theme-color-presets button:hover {transform:scale(1.12);}
.theme-color-presets button[aria-pressed="true"] {box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent);}
.theme-color-presets button[data-theme-color="#3295d2"] {--swatch:#3295d2;}
.theme-color-presets button[data-theme-color="#6f78d8"] {--swatch:#6f78d8;}
.theme-color-presets button[data-theme-color="#d86f68"] {--swatch:#d86f68;}
.theme-color-presets button[data-theme-color="#3f9b78"] {--swatch:#3f9b78;}
.music-player {position:fixed;bottom:0;left:auto;right:0;width:100%;padding:12px 28px;background:var(--bar-bg);border-top:1px solid var(--divider);border-radius:0;box-shadow:none;backdrop-filter:blur(20px);z-index:900;transform-origin:right bottom;}
.music-player[hidden] {display:none;}
.music-player.is-collapsed {width:280px;left:auto;right:20px;bottom:16px;border:1px solid var(--border);border-radius:16px;padding:10px 14px;box-shadow:0 8px 30px #0002;}
.music-btn {color:var(--text);border-radius:50%;}.music-btn:hover {background:var(--button-bg);color:var(--text);transform:none;}
.music-cover {border-radius:10px;background:var(--button-bg);}
.music-search-panel,.music-library-panel {background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 50px #0002;}
.music-btn.active {color:#c85c62;}
.tool-tabs {display:flex;gap:8px;flex-wrap:wrap;padding:28px 0;margin-bottom:22px;border-bottom:1px solid var(--divider);}
.tool-tabs a {padding:10px 18px;border-radius:99px;color:var(--secondary);font-size:14px;text-decoration:none;}
.tool-tabs a:hover {background:color-mix(in srgb,var(--surface) 91%,var(--accent) 9%);color:var(--accent-strong);}.tool-tabs a[aria-current="page"] {background:var(--accent);color:#fff;}
@media(max-width:900px) {
 .navbar {gap:28px;padding:0 24px;min-height:68px;}.nav-links {gap:22px;}.page-container {width:calc(100% - 48px);}
 .feature-grid {gap:18px;}.feature-art {height:215px;}
 .tools-slide-word {font-size:52px;}.tools-slide-from {font-size:24px;}.tools-slide-text .tools-slide-word {font-size:23px;}.demo-score strong {font-size:42px;}.demo-gomoku {width:136px;height:136px;}.demo-boss {width:155px;gap:14px;}.demo-boss-match {gap:15px;}.demo-boss-match>span {width:40px;height:40px;}.demo-word b {font-size:14px;}
 .music-feature,.about-feature {gap:40px;}.record-art {height:300px;}.record {width:230px;height:230px;}
 .site-footer {margin:0 24px;}.music-player {padding:12px 16px;}
}
@media(max-width:640px) {
 .navbar {flex-wrap:wrap;gap:0;min-height:100px;padding:12px 20px 0;}.site-name {font-size:19px;}.nav-icon-button {width:38px;height:38px;}
 .nav-links {order:3;flex-basis:100%;height:43px;gap:0;justify-content:space-between;}.nav-link {font-size:12px;}.nav-link::after {bottom:0;}
 .page-container {width:calc(100% - 36px);}.page {padding:36px 0 48px;}.particle-title-stage {margin:34px auto 0;height:240px;}
 .birthday-text {font-size:52px;}.home-intro {margin:36px 0 54px;}.home-intro>p {font-size:14px;}
 .home-section {padding:45px 0;}.feature-grid {grid-template-columns:1fr;gap:38px;}.feature-art {height:260px;}
 .feature-copy {padding-top:20px;}.feature-copy h3 {font-size:23px;}.tools-slide-word {font-size:64px;}.tools-slide-from {font-size:28px;}.tools-slide-text .tools-slide-word {font-size:29px;}
 .demo-word b {font-size:17px;}.demo-score strong {font-size:52px;}.demo-gomoku {width:160px;height:160px;}.demo-boss {width:190px;gap:20px;}.demo-boss-match {gap:24px;}.demo-boss-match>span {width:47px;height:47px;}
 .music-feature,.about-feature {grid-template-columns:1fr;gap:28px;}.record-art {height:300px;}.about-note {padding:28px;}
 .settings-feature {align-items:flex-start;flex-direction:column;gap:20px;}.settings-feature h2 {font-size:28px;}
 .game-container,.utility-panel {padding:16px;border-radius:16px;}.announce-item-head {padding:17px 15px;gap:10px;flex-wrap:wrap;}
 .announce-item-title {font-size:14px;flex:1;}.announce-date {font-size:11px;}.announce-item-body p {padding:12px 16px 20px;}
 .about-content {padding:23px;}.site-footer {margin:0 18px;padding-bottom:156px;gap:20px;}.site-footer>span {display:none;}
 .music-player {padding:10px 14px;}.music-player.is-collapsed {width:min(250px,calc(100vw - 20px));right:10px;bottom:10px;padding:7px 8px;gap:4px;}.music-player.is-collapsed .music-info {gap:7px;}.music-player.is-collapsed .music-cover {width:34px;height:34px;flex-basis:34px;}.music-player.is-collapsed .current-song {font-size:13px;line-height:1.25;}.music-player.is-collapsed .current-artist {display:block;margin-top:1px;font-size:11px;line-height:1.25;}.music-player.is-collapsed #play-btn,.music-player.is-collapsed .music-collapse-toggle {width:32px;height:32px;}.music-controls {gap:5px;}.music-btn {width:32px;height:32px;font-size:15px;}
 .music-player .current-lyric {display:none;}.settings-dialog {max-width:calc(100% - 24px);border-radius:18px;}
 .tool-tabs {gap:4px;}.tool-tabs a {padding:8px 12px;font-size:12px;}
}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto;}.feature-art,.pill-link {transition:none;}}
