:root{--bg: #09090b;--bg-subtle: #0c0c0f;--surface: #141417;--surface-raised: #1a1a1e;--border: rgba(255, 255, 255, .055);--border-strong: rgba(255, 255, 255, .1);--border-focus: rgba(255, 255, 255, .22);--text: #fafafa;--text-dim: #e4e4e7;--muted: #71717a;--muted-soft: #a1a1aa;--danger: #fca5a5;--radius-lg: 1.125rem;--radius-md: .5rem;--radius-sm: .375rem;--calc-accent: var(--text);--calc-body: var(--text-dim);--font-sans: "IBM Plex Mono", ui-monospace, monospace;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--shadow-sm: 0 1px 0 rgba(255, 255, 255, .04) inset;--blueprint-line-minor: rgba(100, 116, 139, .085);--blueprint-line-major: rgba(148, 163, 184, .16);--blueprint-diagonal: rgba(71, 85, 105, .045);--blueprint-cell-minor: 16px;--blueprint-cell-major: 80px;--ppl-grid-parallax-y: 0px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-sans);font-size:1rem;line-height:1.65;letter-spacing:-.011em;color:var(--text);background-color:var(--bg)}.hero,.tool-page,.legal-page{flex:1 0 auto}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 90% 70% at 50% -10%,rgba(255,255,255,.035),transparent 55%),radial-gradient(ellipse 65% 45% at 100% 80%,rgba(15,23,42,.35),transparent 55%),radial-gradient(ellipse 55% 40% at 0% 60%,rgba(15,23,42,.25),transparent 50%),linear-gradient(to bottom,transparent 0%,var(--bg) 100%)}body:after{content:"";position:fixed;left:0;right:0;width:100%;top:-22vh;height:144vh;pointer-events:none;z-index:0;transform:translate3d(0,var(--ppl-grid-parallax-y),0);will-change:transform;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--blueprint-cell-major) - 1px),var(--blueprint-line-major) calc(var(--blueprint-cell-major) - 1px),var(--blueprint-line-major) var(--blueprint-cell-major)),repeating-linear-gradient(to right,transparent 0,transparent calc(var(--blueprint-cell-major) - 1px),var(--blueprint-line-major) calc(var(--blueprint-cell-major) - 1px),var(--blueprint-line-major) var(--blueprint-cell-major)),repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--blueprint-cell-minor) - 1px),var(--blueprint-line-minor) calc(var(--blueprint-cell-minor) - 1px),var(--blueprint-line-minor) var(--blueprint-cell-minor)),repeating-linear-gradient(to right,transparent 0,transparent calc(var(--blueprint-cell-minor) - 1px),var(--blueprint-line-minor) calc(var(--blueprint-cell-minor) - 1px),var(--blueprint-line-minor) var(--blueprint-cell-minor)),repeating-linear-gradient(-18deg,transparent 0,transparent 47px,var(--blueprint-diagonal) 47px,var(--blueprint-diagonal) 48px);background-repeat:repeat;mask-image:radial-gradient(ellipse 92% 75% at 50% 22%,black 12%,rgba(0,0,0,.55) 48%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse 92% 75% at 50% 22%,black 12%,rgba(0,0,0,.55) 48%,transparent 76%)}@media(prefers-reduced-motion:reduce){body:after{top:0;height:100%;transform:none;will-change:auto}}.noise{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:1}a{color:var(--text-dim);text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .15s ease}a:hover{color:var(--text)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:relative;z-index:2;padding:1.125rem 1.5rem;border-bottom:1px solid var(--border);background:#09090bb8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.site-header__inner{max-width:68rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:relative}.logo{display:inline-flex;align-items:center;gap:.5rem;color:var(--text);text-decoration:none;font-weight:600;font-size:1.0625rem;letter-spacing:-.03em}.logo:hover{color:var(--text)}.logo__mark{display:inline-block;color:var(--muted-soft);font-size:.95rem;opacity:.95}.logo__text{display:inline-block}.header-repo-link{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .95rem .5rem .8rem;border-radius:999px;border:1px solid var(--border-strong);background:transparent;color:var(--text);text-decoration:none;box-shadow:var(--shadow-sm),0 10px 32px #00000059;transition:color .2s ease,border-color .18s ease,background .18s ease,box-shadow .25s var(--ease-out-expo),transform .18s ease}.header-repo-link:hover{color:var(--text);border-color:var(--border-focus);background:#ffffff08;box-shadow:var(--shadow-sm),0 14px 40px #0000006b;transform:translate(-50%,-50%) translateY(-1px)}.header-repo-link:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #ffffff0f,var(--shadow-sm),0 14px 40px #0000006b}.header-repo-link__icon{width:1.05rem;height:1.05rem;color:var(--text-dim);display:flex;align-items:center;justify-content:center;line-height:0;flex-shrink:0}.header-repo-link__icon svg{width:100%;height:100%;display:block}.header-repo-link__text{font-family:var(--font-mono);font-size:.8125rem;font-weight:600;letter-spacing:0;line-height:1;color:var(--text-dim);white-space:nowrap}.badge{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;padding:.32rem .65rem;border-radius:999px;border:1px solid var(--border-strong);color:var(--muted);letter-spacing:.08em;text-transform:uppercase}a.badge.badge--faq,span.badge.badge--faq{position:relative;display:inline-flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden;padding:0;text-decoration:none;color:var(--text-dim);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm),0 10px 32px #00000059;transform:translateZ(0);transition:color .2s ease,border-color .2s ease,box-shadow .25s var(--ease-out-expo)}a.badge.badge--faq:after,span.badge.badge--faq:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:1;opacity:0;background:radial-gradient(120% 90% at 50% 0%,rgba(255,255,255,.08),transparent 55%);transition:opacity .35s var(--ease-out-expo)}a.badge.badge--faq:hover:after,span.badge.badge--faq:hover:after{opacity:1}a.badge.badge--faq:focus-visible,span.badge.badge--faq:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #ffffff0f,var(--shadow-sm),0 14px 40px #0000006b}.badge-faq__shine{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:0;background:linear-gradient(105deg,transparent 0%,transparent 38%,rgba(255,255,255,.18) 50%,transparent 62%,transparent 100%);opacity:.85;transform:translate3d(-120%,0,0) skew(-12deg);will-change:transform}.badge-faq__body{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.45rem;padding:.48rem .85rem .48rem .65rem}.badge-faq__icon{display:flex;flex-shrink:0;width:1.125rem;height:1.125rem;color:var(--muted-soft)}.badge-faq__icon svg{width:100%;height:100%}.badge-faq__label{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1}@media(prefers-reduced-motion:reduce){a.badge.badge--faq:hover,span.badge.badge--faq:hover{color:var(--text);border-color:#ffffff1f;box-shadow:var(--shadow-sm),0 12px 36px #0006}a.badge.badge--faq:hover .badge-faq__icon,span.badge.badge--faq:hover .badge-faq__icon{color:var(--text-dim)}}@media(max-width:700px){.header-repo-link{display:none}}.badge.badge--faq.badge--current{cursor:default;color:var(--muted-soft);border-color:#ffffff17;background:var(--surface-raised);box-shadow:var(--shadow-sm),0 10px 28px #00000052}.badge.badge--faq.badge--current .badge-faq__icon{color:var(--muted)}.faq-doc .faq-block{margin-bottom:1.35rem}.faq-doc .faq-block:last-child{margin-bottom:0}.faq-q{font-size:.9375rem;font-weight:600;letter-spacing:-.02em;color:var(--text-dim);margin:0 0 .45rem}.faq-a{margin:0}.faq-block--highlight{margin-top:1.5rem;padding:1rem 1.15rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm),0 8px 28px #00000038}.faq-block--highlight .faq-q{margin-bottom:.5rem}.hero{position:relative;z-index:2;padding:clamp(2.5rem,6vw,4rem) 1.5rem 3.5rem;max-width:68rem;margin:0 auto}.hero__eyebrow{font-family:var(--font-mono);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin:0 0 1.125rem}.hero__title{font-size:clamp(2.125rem,5.5vw,3.125rem);font-weight:600;line-height:1.08;letter-spacing:-.045em;margin:0 0 1.25rem}.hero__title-line{display:block}.hero__title-line--muted{color:var(--muted-soft);font-weight:500}.hero__lead{max-width:34rem;color:var(--muted-soft);font-size:1.0625rem;line-height:1.65;margin:0 0 2.75rem}.hero__lead strong{color:var(--text-dim);font-weight:600}.tool-section{margin-top:.25rem}.tool-grid-wrap{perspective:900px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:1rem;max-width:36rem}@media(min-width:640px){.tool-grid{grid-template-columns:repeat(3,minmax(0,10.75rem));gap:1.125rem;max-width:none}}.tool-card{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;padding:0;border-radius:var(--radius-lg);border:1px dashed rgba(100,116,139,.42);background:linear-gradient(165deg,rgba(30,41,59,.35) 0%,transparent 42%),var(--surface);box-shadow:var(--shadow-sm),0 12px 36px #00000052;text-decoration:none;color:inherit;overflow:hidden;isolation:isolate;transform:translateZ(0);will-change:transform;transition:border-color .4s var(--ease-out-expo),border-style .35s ease,box-shadow .4s var(--ease-out-expo),background .4s ease}.tool-card:hover{border-style:solid;border-color:#94a3b88c;box-shadow:var(--shadow-sm),0 0 0 1px #94a3b81f inset,0 18px 52px #0000006b}.tool-card:focus-visible{outline:none;border-style:solid;border-color:var(--border-focus);box-shadow:0 0 0 3px #ffffff0f,var(--shadow-sm),0 18px 48px #00000073}.tool-card__ticks{position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:calc(var(--radius-lg) - 7px);pointer-events:none;z-index:1;border:1px solid rgba(148,163,184,.12);opacity:.65;transition:opacity .45s var(--ease-out-expo),inset .45s var(--ease-out-expo),border-color .35s ease}.tool-card:hover .tool-card__ticks{top:6px;right:6px;bottom:6px;left:6px;border-color:#94a3b847;opacity:1}.tool-card__scan{position:absolute;left:12%;right:12%;top:0;height:22%;pointer-events:none;z-index:2;background:linear-gradient(to bottom,transparent,rgba(148,163,184,.14) 45%,rgba(226,232,240,.08) 50%,rgba(148,163,184,.12) 55%,transparent);opacity:0;transform:translateY(-120%)}.tool-card:hover .tool-card__scan{animation:tool-card-scan .95s var(--ease-out-expo) 1 both}@keyframes tool-card-scan{0%{opacity:0;transform:translateY(-100%)}12%{opacity:1}to{opacity:0;transform:translateY(320%)}}@media(prefers-reduced-motion:reduce){.tool-card:hover .tool-card__scan{animation:none}.tool-card__scan{display:none}}.tool-card__sheen{position:absolute;top:-35%;right:-35%;bottom:-35%;left:-35%;background:linear-gradient(118deg,transparent 38%,rgba(255,255,255,.055) 50%,transparent 62%);opacity:0;pointer-events:none;z-index:4;transform:translate(-108%) rotate(10deg);transition:opacity .3s ease}.tool-card:hover .tool-card__sheen{opacity:1}.tool-card__inner{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.1rem .85rem 1.35rem;min-height:0}.tool-card__icon{width:2.6rem;height:2.6rem;margin:0 0 .35rem;flex-shrink:0;color:#94a3b8e0;transition:color .35s ease,transform .5s var(--ease-out-expo)}.tool-card:hover .tool-card__icon{color:var(--text-dim);transform:translateY(-2px) scale(1.04)}.tool-card__icon svg{width:100%;height:100%}.tool-card__title{font-family:var(--font-sans);font-size:.875rem;font-weight:600;letter-spacing:-.03em;margin:0;line-height:1.2;max-width:100%;text-wrap:balance}.tool-card__tagline{margin:.35rem 0 0;font-size:.6875rem;line-height:1.45;color:var(--muted);max-width:9.5rem;text-wrap:balance}.tool-card:hover .tool-card__tagline{color:var(--muted-soft)}@media(prefers-reduced-motion:reduce){.tool-card:hover .tool-card__icon{transform:none}}.tool-section--links{margin-top:2.75rem}.tool-section__heading{margin:0 0 .4rem;font-family:var(--font-sans);font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.tool-section__lead{margin:0 0 1.125rem;max-width:26rem;font-size:.8125rem;line-height:1.55;color:var(--muted-soft)}.tool-section--links .tool-grid-wrap{perspective:960px}.link-card{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;padding:0;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm),0 14px 40px #00000059;text-decoration:none;color:inherit;overflow:hidden;isolation:isolate;transform:translateZ(0);will-change:transform}.link-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(120% 90% at 50% 0%,rgba(255,255,255,.07),transparent 55%);transition:opacity .35s var(--ease-out-expo);z-index:1}.link-card:hover:after{opacity:1}.link-card:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #ffffff0f,var(--shadow-sm),0 18px 48px #00000073}.link-card__vinyl{--vinyl-spin-duration: 14s;position:absolute;width:138%;aspect-ratio:1;height:auto;left:50%;top:50%;border-radius:50%;pointer-events:none;z-index:0;opacity:0;transform:translate(-50%,-50%);transform-origin:50% 50%;background:radial-gradient(circle at 50% 50%,#050505 0%,#050505 10.35%,#0a0a0c 10.65%,transparent 10.95%),radial-gradient(circle at 50% 50%,transparent 42%,rgba(0,0,0,.45) 100%),repeating-radial-gradient(circle at 50% 50%,transparent 0 18px,var(--vinyl-line-dash, hsl(48 96% 68%)) 18px 19.5px,transparent 19.5px 36px),repeating-radial-gradient(circle at 50% 50%,transparent 0 6px,var(--vinyl-line-thin, hsl(210 92% 68%)) 6px 6.9px,transparent 6.9px 11px,var(--vinyl-line-thin, hsl(210 92% 68%)) 11px 11.7px,transparent 11.7px 17px),repeating-radial-gradient(circle at 50% 50%,transparent 0 24px,var(--vinyl-line-thick, hsl(285 82% 72%)) 24px 30px,transparent 30px 48px),radial-gradient(circle at 50% 50%,#1a1614,#12100e 38%,#0a0908);background-blend-mode:normal,normal,normal,normal,normal,normal;mix-blend-mode:normal;filter:blur(.45px);transition:opacity .5s var(--ease-out-expo);animation:none}.link-card__vinyl:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:0;opacity:.34;mix-blend-mode:overlay;filter:blur(1.1px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.62' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:80px 80px;background-repeat:repeat}.link-card:hover .link-card__vinyl{opacity:.5;animation:link-card-vinyl-spin var(--vinyl-spin-duration) linear infinite}.link-card:not(:hover) .link-card__vinyl{animation:none}@keyframes link-card-vinyl-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@media(prefers-reduced-motion:reduce){.link-card__vinyl{display:none!important}}.link-card__inner{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.35rem 1.1rem;min-height:0}.link-card__center{position:absolute;left:50%;top:50%;z-index:3;display:flex;flex-direction:column;align-items:center;gap:.22rem;max-width:calc(100% - 1.5rem);transform:translate(-50%,calc(-50% + .68rem))}.link-card__icon{width:2.75rem;height:2.75rem;margin:0;flex-shrink:0;color:var(--muted-soft)}.link-card:hover .link-card__icon{color:var(--text-dim)}.link-card__icon svg{width:100%;height:100%}.link-card__title{font-family:var(--font-sans);font-size:.875rem;font-weight:600;letter-spacing:-.03em;margin:0;line-height:1.15;max-width:100%;text-wrap:balance}.link-card__shine{position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.06) 48%,transparent 62%);opacity:0;pointer-events:none;z-index:4;transform:translate(-100%) rotate(8deg);transition:opacity .3s ease}.link-card:hover .link-card__shine{opacity:1}.link-card__external{position:absolute;right:.55rem;bottom:.5rem;z-index:5;width:1.35rem;height:1.35rem;color:var(--muted);opacity:.55;transition:color .3s ease,opacity .3s ease,transform .45s var(--ease-out-expo)}.link-card:hover .link-card__external{color:var(--muted-soft);opacity:.95;transform:translate(2px,-2px)}.link-card__external svg{display:block;width:100%;height:100%}@media(prefers-reduced-motion:reduce){.link-card:hover .link-card__external{transform:none}}.site-footer{position:relative;z-index:2;margin-top:auto;padding:.875rem 1.25rem 1.125rem;border-top:1px solid var(--border);background:#09090b80}.footer-inner{max-width:36rem;margin:0 auto;text-align:center}.footer-legal,.footer-row,.footer-copy{margin:0;font-size:.6875rem;line-height:1.5;color:var(--muted)}.footer-legal{max-width:34rem;margin-left:auto;margin-right:auto}.footer-site{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.02em;color:var(--muted-soft)}.footer-row{margin-top:.45rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .5rem}.footer-sep{color:var(--border-strong);-webkit-user-select:none;user-select:none}.footer-minecraft{color:var(--muted);font-size:.625rem;letter-spacing:.02em}.footer-copy{margin-top:.55rem;padding-top:.55rem;border-top:1px solid var(--border);font-size:.625rem;color:var(--muted)}.footer-inner a{color:var(--muted-soft)}.footer-inner a:hover{color:var(--text-dim)}a.footer-link--pepeland{position:relative;display:inline;font-weight:500;text-decoration:none;background-image:linear-gradient(92deg,#71717a,#787882 18%,#a1a1aa 38%,#f1f5f9 49.5%,#e2e8f0 51%,#94a3b8 54%,#a1a1aa 68%,#71717a 88%,#71717a);background-size:260% 100%;background-position:22% 50%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:footer-pepeland-glint 5.2s ease-in-out infinite alternate}@keyframes footer-pepeland-glint{0%{background-position:18% 50%}to{background-position:82% 50%}}.footer-inner a.footer-link--pepeland:hover,.footer-inner a.footer-link--pepeland:focus-visible{animation-play-state:paused;background-image:none;background-clip:unset;-webkit-background-clip:unset;-webkit-text-fill-color:var(--text-dim);color:var(--text-dim)}.footer-inner a.footer-link--pepeland:focus-visible{outline:1px solid var(--border-focus);outline-offset:3px;border-radius:2px}@media(prefers-reduced-motion:reduce){a.footer-link--pepeland{animation:none;background:none;background-clip:unset;-webkit-background-clip:unset;-webkit-text-fill-color:unset;color:var(--muted-soft)}.footer-inner a.footer-link--pepeland:hover,.footer-inner a.footer-link--pepeland:focus-visible{color:var(--text-dim)}}.legal-page{position:relative;z-index:2;max-width:40rem;margin:0 auto;padding:1.75rem 1.5rem 2.5rem}.legal-page__title{font-size:clamp(1.5rem,3.5vw,1.875rem);font-weight:600;letter-spacing:-.04em;margin:0 0 .35rem}.legal-page__updated{font-family:var(--font-mono);font-size:.6875rem;color:var(--muted);margin:0 0 1.5rem}.legal-doc{font-size:.9375rem;line-height:1.65;color:var(--muted-soft)}.legal-doc p{margin:0 0 1rem}.legal-doc p:last-child{margin-bottom:0}.legal-doc h2{font-size:.8125rem;font-weight:600;letter-spacing:-.02em;color:var(--text-dim);margin:1.35rem 0 .5rem}.legal-doc h2:first-of-type{margin-top:.25rem}.legal-doc strong{color:var(--text-dim);font-weight:600}.legal-doc__mono{font-family:var(--font-mono);font-size:.875em;color:var(--text-dim)}.legal-doc a{color:var(--text-dim)}.tool-page{position:relative;z-index:2;max-width:42rem;margin:0 auto;padding:2rem 1.5rem 4rem}.back-link{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.02em;color:var(--muted);text-decoration:none;margin-bottom:1.75rem}.back-link:hover{color:var(--text-dim)}.tool-page__title{font-size:clamp(1.625rem,4vw,2rem);font-weight:600;letter-spacing:-.04em;margin:0 0 .5rem}.tool-page__intro{color:var(--muted-soft);margin:0 0 1.75rem;font-size:.9375rem;line-height:1.6}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.35rem;box-shadow:var(--shadow-sm),0 12px 36px #00000047}.panel+.panel{margin-top:.875rem}.btn{font-family:var(--font-sans);font-size:.875rem;font-weight:600;letter-spacing:-.02em;padding:.58rem 1.1rem;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .12s ease}.btn:hover{background:#222226;border-color:#ffffff29}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #ffffff0f}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--ghost{background:transparent;border-color:var(--border);color:var(--muted-soft)}.btn--ghost:hover{background:var(--bg-subtle);border-color:var(--border-strong);color:var(--text)}.btn--primary{background:var(--surface-raised);border-color:#ffffff24;color:var(--text);box-shadow:0 1px #ffffff0f inset}.btn--primary:hover{background:#222226;border-color:#fff3;filter:none}.btn--primary:active{filter:none;transform:scale(.98)}.field-label{display:block;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:.5rem}textarea{width:100%;font-family:var(--font-mono);font-size:.8125rem;line-height:1.55;padding:.75rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);resize:vertical;min-height:8rem;transition:border-color .15s ease,box-shadow .15s ease}input[type=text]{width:auto;max-width:100%;font-family:var(--font-mono);font-size:.8125rem;line-height:1.55;padding:.75rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);min-height:0;transition:border-color .15s ease,box-shadow .15s ease}textarea:focus,input[type=text]:focus{outline:none;border-color:var(--border-strong);box-shadow:0 0 0 3px #ffffff0d}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;display:block;max-width:100%;box-sizing:border-box;font-family:var(--font-mono);font-size:.8125rem;line-height:1.5;padding:.65rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);min-height:2.5rem;transition:border-color .15s ease,box-shadow .15s ease}input[type=number]:focus{outline:none;border-color:var(--border-strong);box-shadow:0 0 0 3px #ffffff0d}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.row{display:flex;flex-wrap:wrap;gap:.625rem;align-items:center;margin-top:1rem}.output-box{font-family:var(--font-mono);font-size:.8125rem;word-break:break-all;padding:.75rem .9rem;border-radius:var(--radius-md);background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-dim);min-height:2.75rem;display:flex;align-items:center}.msg-error{color:var(--danger);font-size:.8125rem;margin-top:.75rem}body.is-loading{overflow:hidden}html.ppl-skip-welcome #page-loader{display:none!important}html.ppl-skip-welcome body.is-loading{overflow:auto}.page-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:var(--bg);clip-path:inset(0 0 0 0)}.page-loader__grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.45;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--blueprint-cell-minor) - 1px),rgba(100,116,139,.12) calc(var(--blueprint-cell-minor) - 1px),rgba(100,116,139,.12) var(--blueprint-cell-minor)),repeating-linear-gradient(to right,transparent 0,transparent calc(var(--blueprint-cell-minor) - 1px),rgba(100,116,139,.12) calc(var(--blueprint-cell-minor) - 1px),rgba(100,116,139,.12) var(--blueprint-cell-minor));-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,black 12%,transparent 70%);mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,black 12%,transparent 70%);pointer-events:none}.page-loader__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem}.page-loader__mark{font-size:1.75rem;line-height:1;color:var(--muted-soft);margin-bottom:.75rem}.page-loader__brand{font-size:clamp(1.75rem,5vw,2.25rem);font-weight:600;letter-spacing:-.05em;color:var(--text)}.page-loader__line{width:min(12rem,70vw);height:1px;margin:1rem 0 .65rem;background:linear-gradient(90deg,transparent,var(--border-strong) 15%,var(--muted-soft) 50%,var(--border-strong) 85%,transparent);transform-origin:50% 50%}.page-loader__sub{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;text-transform:uppercase;color:var(--muted)}.page-loader__frame{position:absolute;top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem;pointer-events:none;z-index:0}.page-loader__frame span{position:absolute;width:1.25rem;height:1.25rem;border-color:var(--border-strong);border-style:solid;opacity:0}.page-loader__frame span:nth-child(1){top:0;left:0;border-width:1px 0 0 1px}.page-loader__frame span:nth-child(2){top:0;right:0;border-width:1px 1px 0 0}.page-loader__frame span:nth-child(3){bottom:0;left:0;border-width:0 0 1px 1px}.page-loader__frame span:nth-child(4){bottom:0;right:0;border-width:0 1px 1px 0}.item-ids-page{max-width:72rem}.item-ids-toolbar{margin-bottom:1rem}.item-ids-toolbar__hint{margin:.65rem 0 0;font-size:.8125rem;color:var(--muted)}.item-ids-toolbar__hint strong{color:var(--muted-soft);font-weight:600}.item-ids-search-input{width:100%;font-family:var(--font-sans);font-size:.9375rem;padding:.58rem .85rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);min-height:2.5rem;transition:border-color .15s ease,box-shadow .15s ease}.item-ids-search-input:focus{outline:none;border-color:var(--border-strong);box-shadow:0 0 0 3px #ffffff0d}.item-ids-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.25rem,1fr));gap:.5rem}.item-id-cell{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem;padding:.65rem .45rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);min-height:7.75rem}.item-id-cell[hidden]{display:none!important}.item-id-cell__icon-wrap{width:40px;height:40px;display:grid;place-items:center}.item-id-cell__icon-wrap img{width:32px;height:32px;image-rendering:pixelated;image-rendering:crisp-edges}.item-id-cell__name{font-size:.6875rem;line-height:1.25;color:var(--text-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-id-cell__id{font-family:var(--font-mono);font-size:.625rem;color:var(--muted)}.bpm-page{max-width:52rem}.bpm-toolbar{margin-bottom:1rem;align-items:center;gap:.65rem 1rem}.bpm-toolbar__hint{margin:0;flex:1 1 100%;font-size:.8125rem;color:var(--muted)}.bpm-toolbar__hint strong{color:var(--muted-soft);font-weight:600}.bpm-board{position:relative;isolation:isolate;padding:1.1rem 1.15rem 1.2rem;border-radius:var(--radius-lg);border:1px dashed rgba(100,116,139,.42);background:linear-gradient(165deg,rgba(30,41,59,.38) 0%,transparent 48%),var(--surface);box-shadow:var(--shadow-sm),0 16px 48px #00000057;overflow:hidden}.bpm-board__ticks{position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:calc(var(--radius-lg) - 6px);border:1px solid rgba(148,163,184,.14);pointer-events:none;z-index:0}.bpm-board__head{position:relative;z-index:1;display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.85rem;padding-bottom:.65rem;border-bottom:1px solid var(--border)}.bpm-board__label{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-soft)}.bpm-board__meta{font-size:.6875rem;color:var(--muted)}.bpm-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(var(--bpm-cols, 4),minmax(0,1fr));gap:.55rem}.bpm-cell{--bpm-delay: calc(var(--bpm-i, 0) * 45ms);position:relative;aspect-ratio:1;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:inherit;font:inherit;cursor:pointer;overflow:hidden;isolation:isolate;box-shadow:var(--shadow-sm);transition:border-color .35s var(--ease-out-expo),box-shadow .35s var(--ease-out-expo),transform .35s var(--ease-out-expo)}.bpm-grid--shuffle .bpm-cell{animation:bpm-cell-in .5s var(--ease-out-expo) var(--bpm-delay) both}@keyframes bpm-cell-in{0%{opacity:0;transform:translateY(6px) scale(.94)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.bpm-grid--shuffle .bpm-cell{animation:none}}.bpm-cell:hover:not(:disabled),.bpm-cell:focus-visible{border-color:#94a3b873;transform:translateY(-2px);box-shadow:var(--shadow-sm),0 10px 28px #00000059;z-index:2}.bpm-cell:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #ffffff0f,var(--shadow-sm),0 10px 28px #00000061}.bpm-cell--locked{border-color:#60a5fa8c;box-shadow:0 0 0 1px #60a5fa26 inset,0 0 20px #3b82f61f}.bpm-cell--empty{cursor:default;opacity:.5}.bpm-cell__scan{position:absolute;left:8%;right:8%;top:0;height:28%;pointer-events:none;z-index:4;background:linear-gradient(to bottom,transparent,rgba(148,163,184,.12) 45%,rgba(226,232,240,.07) 50%,rgba(148,163,184,.1) 55%,transparent);opacity:0;transform:translateY(-120%)}.bpm-cell:hover .bpm-cell__scan,.bpm-cell:focus-visible .bpm-cell__scan{animation:bpm-cell-scan .85s var(--ease-out-expo) 1 both}@keyframes bpm-cell-scan{0%{opacity:0;transform:translateY(-100%)}25%{opacity:1}to{opacity:0;transform:translateY(320%)}}@media(prefers-reduced-motion:reduce){.bpm-cell:hover .bpm-cell__scan,.bpm-cell:focus-visible .bpm-cell__scan{animation:none}}.bpm-cell__tex-wrap{position:absolute;top:.35rem;right:.35rem;bottom:.35rem;left:.35rem;border-radius:calc(var(--radius-md) - 3px);overflow:hidden;background:repeating-conic-gradient(#71717a38,#71717a38 25%,#18181b59 0%,#18181b59 50%) 50% / 12px 12px,var(--surface-raised)}.bpm-cell__tex{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated;image-rendering:crisp-edges;transform:scale(1.5);transform-origin:center}.bpm-cell__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;gap:.2rem;padding:.5rem .55rem;background:linear-gradient(180deg,transparent 42%,rgba(9,9,11,.88) 100%);opacity:0;transition:opacity .22s var(--ease-out-expo);pointer-events:none;z-index:2}.bpm-cell:hover .bpm-cell__overlay,.bpm-cell:focus-visible .bpm-cell__overlay{opacity:1}.bpm-cell__name{font-size:.75rem;font-weight:600;line-height:1.2;color:var(--text)}.bpm-cell__idline{display:flex;flex-direction:column;gap:.1rem;font-family:var(--font-mono);font-size:.5625rem;line-height:1.35;color:var(--muted-soft)}.bpm-cell__code{font:inherit;color:inherit;background:none;padding:0;word-break:break-all}.bpm-cell__lock{position:absolute;top:.4rem;right:.4rem;z-index:3;padding:.12rem .38rem;border-radius:999px;font-family:var(--font-mono);font-size:.5rem;font-weight:700;letter-spacing:.08em;line-height:1.2;color:#bfdbfe;background:#1e3a8abf;border:1px solid rgba(147,197,253,.45);pointer-events:none;opacity:0;transition:opacity .2s ease}.bpm-cell--locked .bpm-cell__lock{opacity:1}.bpm-cell__empty{display:block;width:100%;height:100%;background:repeating-linear-gradient(-45deg,rgba(113,113,122,.12),rgba(113,113,122,.12) 5px,transparent 5px,transparent 10px)}@media(max-width:520px){.bpm-board{padding:.85rem}.bpm-grid{gap:.4rem}}.item-id-cell__code{font-family:var(--font-mono);font-size:.5625rem;color:var(--muted);word-break:break-all;max-width:100%;line-height:1.35}@font-face{font-family:Minecraft Standard;src:url(/ppl/assets/MinecraftStandard-Kzel5Rqf.woff2) format("woff2"),url(/ppl/assets/MinecraftStandard-DvurEtYa.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}.gradients-page{max-width:72rem;min-width:0}.gradients-page #grad-text,.gradients-page #grad-preview,.gradients-page #grad-preview span{font-family:"Minecraft Standard",var(--font-mono)}.gradients-page #grad-text{font-size:1.05rem;line-height:1.45;letter-spacing:.02em}.gradients-layout{display:grid;gap:1rem;align-items:start;min-width:0}@media(min-width:960px){.gradients-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr)}}.gradients-layout>.panel{min-width:0}.gradients-panel--settings{padding-top:1.1rem;overflow-wrap:anywhere}.gradients-section{padding-bottom:1.1rem;margin-bottom:1rem;border-bottom:1px solid var(--border)}.gradients-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.gradients-section:has(+.gradients-vanilla-trigger){border-bottom:none;margin-bottom:0;padding-bottom:.85rem}.gradients-section__title{margin:0 0 .35rem;font-size:.6875rem;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.gradients-section__lead{margin:0 0 1rem;font-size:.8125rem;line-height:1.55;color:var(--muted-soft)}.gradients-section__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.35rem}.gradients-section__head .gradients-section__title{margin:0}.gradients-params-grid{display:grid;grid-template-columns:1fr;grid-template-areas:"l1" "h1" "s1" "l2" "h2" "s2";gap:.35rem .85rem}@media(min-width:420px){.gradients-params-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"l1 l2" "h1 h2" "s1 s2"}}.gradients-params-grid>:nth-child(1){grid-area:l1}.gradients-params-grid>:nth-child(2){grid-area:l2}.gradients-params-grid>:nth-child(3){grid-area:h1}.gradients-params-grid>:nth-child(4){grid-area:h2}.gradients-params-grid>:nth-child(5){grid-area:s1}.gradients-params-grid>:nth-child(6){grid-area:s2}.gradients-params-grid__label{margin-bottom:0;align-self:start}.gradients-params-grid__hint{margin:0 0 .15rem;align-self:start}.gradients-params-grid .gradients-stepper{align-self:start}.gradients-hint{margin:0 0 .65rem;font-size:.75rem;line-height:1.45;color:var(--muted)}.gradients-hint strong{color:var(--muted-soft);font-weight:600}.gradients-hint code{font-size:.85em}.gradients-hint--tight{margin-top:-.15rem;margin-bottom:.55rem}.gradients-stepper{display:flex;align-items:stretch;gap:.4rem;max-width:100%}.gradients-stepper__btn{flex:0 0 2.5rem;min-width:2.5rem;padding-left:.35rem;padding-right:.35rem;font-size:1rem;line-height:1}input[type=number].gradients-stepper__input{flex:1 1 auto;min-width:0;width:auto;min-height:2.5rem;text-align:center;font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:.875rem;font-weight:600;padding:.45rem .35rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text)}input[type=number].gradients-stepper__input:focus{outline:none;border-color:var(--border-strong);box-shadow:0 0 0 3px #ffffff0d}.btn--compact{padding:.45rem .75rem;font-size:.8125rem}.gradients-colors{margin-bottom:0;max-width:100%;min-width:0}.gradients-color-row{display:flex;align-items:center;gap:.38rem;padding:.32rem .5rem;margin-bottom:.35rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);width:100%;max-width:100%;min-width:0;box-sizing:border-box}.gradients-color-row__num{flex:0 0 1.375rem;width:1.375rem;height:1.375rem;display:grid;place-items:center;font-family:var(--font-mono);font-size:.625rem;font-weight:600;color:var(--muted);border-radius:50%;border:1px solid var(--border);background:var(--surface)}.gradients-color-row__swatch{flex:0 0 auto;width:1.375rem;height:1.375rem;border-radius:.3rem;border:2px solid var(--border-strong);cursor:pointer;padding:0}.gradients-color-row__hex-wrap{flex:1 1 6.75rem;min-width:0;max-width:100%;display:grid;grid-template:1fr / 1fr;align-items:stretch;min-height:1.75rem}.gradients-color-row__hex-wrap>*{grid-area:1 / 1;min-width:0;width:100%;box-sizing:border-box}.gradients-color-row__hex{margin:0;width:100%;border-radius:var(--radius-md);min-height:1.75rem!important;height:1.75rem;padding:.18rem .4rem!important;font-size:.8125rem;line-height:1.2;letter-spacing:normal}.gradients-color-row__hex-action{display:none;z-index:1;align-items:center;justify-content:center;min-height:1.75rem;height:1.75rem;padding:.18rem .4rem;font-family:var(--font-sans);font-size:.8125rem;font-weight:600;letter-spacing:-.02em;line-height:1.25;cursor:pointer;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-sm);transition:background .15s ease,border-color .15s ease,transform .12s ease}.gradients-color-row__hex-action:hover{background:#222226;border-color:#ffffff29}.gradients-color-row__hex-action:active{transform:scale(.98)}.gradients-color-row__hex-action:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #ffffff0f}.gradients-color-row__hex-wrap--action .gradients-color-row__hex{visibility:hidden;pointer-events:none}.gradients-color-row__hex-wrap--action .gradients-color-row__hex-action{display:flex}.gradients-color-row__del{flex:0 0 auto;margin-left:auto;min-width:1.85rem;height:1.75rem;padding:0 .3rem;border-radius:var(--radius-md);color:#fecaca;border-color:#f8717159;background:#dc262638}.gradients-color-row__del:hover{background:#dc262659}.gradients-check{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;line-height:1.4;color:var(--muted-soft);margin-bottom:.5rem;cursor:pointer}.gradients-check:last-child{margin-bottom:0}.gradients-check input{margin-top:.2rem;accent-color:var(--border-focus);flex-shrink:0}.gradients-check code{font-size:.72em;color:var(--muted)}.gradients-format-grid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .75rem}@media(max-width:380px){.gradients-format-grid{grid-template-columns:1fr}}.gradients-format-grid__full{grid-column:1 / -1;margin-bottom:0}.gradient-slider{position:relative;height:2rem;width:100%;margin:.35rem 0 1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-raised);overflow:visible;box-shadow:inset 0 1px #ffffff0a}.gradient-slider__handle{position:absolute;top:50%;transform:translate(-50%,-50%);width:1.375rem;height:1.375rem;border-radius:50%;border:2px solid var(--border-strong);box-shadow:0 2px 8px #00000059,0 0 0 1px #0003;cursor:grab;padding:0}.gradient-slider__handle:hover{border-color:#ffffff80}.gradient-slider__handle:active{cursor:grabbing}.gradients-preview{min-height:2.75rem;padding:.85rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);font-size:1.2rem;line-height:1.45;word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap}.gradients-select{display:block;width:100%;max-width:16rem;font-family:var(--font-mono);font-size:.8125rem;padding:.55rem .75rem;margin-bottom:.25rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text)}.gradients-select:focus{outline:none;border-color:var(--border-strong);box-shadow:0 0 0 3px #ffffff0d}.gradients-modal[hidden]{display:none!important}.gradients-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8000;display:flex;align-items:center;justify-content:center;padding:1rem}.gradients-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000009e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer}.gradients-modal__card{position:relative;z-index:1;width:100%;max-width:26rem;max-height:min(92vh,40rem);display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm),0 24px 56px #0000008c}.gradients-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.15rem .85rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}.gradients-modal__header-text{min-width:0}.gradients-modal__eyebrow{margin-bottom:.35rem}.gradients-modal__title{margin:0;font-size:1.125rem;font-weight:600;letter-spacing:-.03em;line-height:1.25}.gradients-vanilla-trigger{margin-top:0;padding-top:.85rem;border-top:1px solid var(--border)}.gradients-vanilla-trigger .btn{width:100%;box-sizing:border-box}.gradients-modal__subtitle{margin:.5rem 0 0;font-size:.8125rem;line-height:1.55;color:var(--muted-soft);max-width:42rem}.gradients-modal__subtitle a{color:var(--text-dim);text-decoration:underline;text-underline-offset:.12em}.gradients-modal__subtitle a:hover{color:var(--text)}.gradients-modal__card--vanilla{max-width:min(96vw,58rem);max-height:min(92vh,46rem)}.gradients-modal__body--vanilla{padding:.75rem 1rem 1rem;min-height:0}.gradients-vanilla-table-wrap{max-height:min(62vh,28rem);overflow:auto;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) var(--bg-subtle)}.gradients-vanilla-table{width:100%;border-collapse:collapse;font-size:.8125rem}.gradients-vanilla-table th,.gradients-vanilla-table td{padding:.55rem .65rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.gradients-vanilla-table th{position:sticky;top:0;z-index:1;font-family:var(--font-mono);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:linear-gradient(180deg,var(--surface) 70%,rgba(24,24,27,.92));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);white-space:nowrap}.gradients-vanilla-table tbody tr:last-child td{border-bottom:none}.gradients-vanilla-table tbody tr:hover td{background:#ffffff08}.gradients-vanilla-table__effect{width:auto;min-width:7.25rem}.gradients-vanilla-swatch{display:inline-flex;align-items:center;justify-content:center;min-width:unset;padding:.22rem .45rem;border-radius:var(--radius-md);border:1px solid var(--border);background:#00000059;font-family:var(--font-mono);font-weight:700;font-size:.75rem;letter-spacing:.03em;text-shadow:0 1px 2px rgba(0,0,0,.65);white-space:nowrap}.gradients-vanilla-swatch--format{color:var(--text-dim);text-shadow:none}.gradients-vanilla-swatch--bold{font-weight:800}.gradients-vanilla-swatch--italic{font-style:italic;font-weight:600}.gradients-vanilla-swatch--underline{text-decoration:underline;text-underline-offset:.14em}.gradients-vanilla-swatch--strike{text-decoration:line-through;text-decoration-thickness:1.5px}.gradients-vanilla-swatch--magic{letter-spacing:.06em}@media(prefers-reduced-motion:reduce){.gradients-vanilla-swatch--magic{letter-spacing:.03em}}.gradients-vanilla-swatch--reset{font-weight:500;color:var(--muted-soft);text-decoration:none}.gradients-vanilla-table tbody tr.gradients-vanilla-table__row--section td{border-top:1px solid var(--border-strong);box-shadow:inset 0 1px #ffffff0a}.gradients-vanilla-table__name{font-weight:600;color:var(--text);white-space:nowrap}.gradients-vanilla-table__mono{font-family:var(--font-mono);font-size:.78rem;color:var(--text-dim);word-break:break-all}.gradients-vanilla-table__mono--na{color:var(--muted);font-style:normal}.gradients-modal__close{flex-shrink:0;display:grid;place-items:center;width:2.35rem;height:2.35rem;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--muted);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.gradients-modal__close:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-raised)}.gradients-modal__body{padding:1rem 1.15rem 1.1rem;overflow-y:auto;min-height:0;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) var(--bg-subtle)}.gradients-modal__body::-webkit-scrollbar{width:8px}.gradients-modal__body::-webkit-scrollbar-track{margin:4px 0;background:transparent;border-radius:999px}.gradients-modal__body::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.gradients-modal__body::-webkit-scrollbar-thumb:hover{background:#ffffff38;background-clip:padding-box}.gradients-modal__spectrum .field-label,.gradients-modal__hue-block .field-label{margin-bottom:.4rem}.gradients-modal__spectrum-inner{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);padding:.35rem;box-shadow:inset 0 1px #ffffff0a}.gradients-modal__canvas{display:block;width:100%;height:auto;vertical-align:middle;border-radius:calc(var(--radius-md) - 2px);cursor:crosshair;touch-action:none}.gradients-modal__canvas:focus-visible{outline:none;box-shadow:0 0 0 2px var(--border-focus)}.gradients-modal__hue-block{margin-top:1rem}.gradients-modal__hue-row{display:flex;align-items:center;gap:.45rem}.gradients-modal__hue-tick{font-family:var(--font-mono);font-size:.625rem;color:var(--muted);flex:0 0 auto;width:1.75rem;text-align:center}.gradients-modal__hue-tick:last-child{text-align:center}.gradients-modal__hue{flex:1 1 auto;min-width:0;height:1.25rem;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}.gradients-modal__hue:focus{outline:none}.gradients-modal__hue::-webkit-slider-runnable-track{height:.45rem;border-radius:999px;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border:1px solid var(--border);box-shadow:inset 0 1px 2px #00000059}.gradients-modal__hue::-moz-range-track{height:.45rem;border-radius:999px;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border:1px solid var(--border)}.gradients-modal__hue::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.1rem;height:1.1rem;margin-top:-.35rem;border-radius:50%;border:2px solid rgba(255,255,255,.95);background:#fff;box-shadow:0 2px 8px #00000073;cursor:grab}.gradients-modal__hue::-moz-range-thumb{width:1.1rem;height:1.1rem;border-radius:50%;border:2px solid rgba(255,255,255,.95);background:#fff;box-shadow:0 2px 8px #00000073;cursor:grab}.gradients-modal__result{display:flex;align-items:stretch;gap:1rem;margin-top:1.1rem;padding:.85rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle)}.gradients-modal__swatch-large{flex:0 0 auto;width:3.75rem;height:3.75rem;border-radius:var(--radius-md);border:2px solid var(--border-strong);box-shadow:inset 0 0 0 1px #0003}.gradients-modal__values{flex:1 1 auto;min-width:0}.gradients-modal__values .field-label{margin-bottom:.3rem}.gradients-modal__hex-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.gradients-modal__hex{flex:1 1 7rem;min-width:5.5rem;max-width:100%;min-height:2.15rem!important;padding:.4rem .55rem!important;font-size:.8125rem}.gradients-modal__rgb{margin:.45rem 0 0;font-family:var(--font-mono);font-size:.6875rem;color:var(--muted);letter-spacing:.02em}.gradients-modal__footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;padding:.85rem 1.15rem 1.1rem;border-top:1px solid var(--border);background:#0000001f}.gradients-modal__footer .btn{min-width:6.5rem}.gradients-input--error{border-color:var(--danger)!important;animation:gradients-shake .35s ease}@keyframes gradients-shake{0%,to{transform:translate(0)}33%{transform:translate(-4px)}66%{transform:translate(4px)}}.tool-page.calc-page{max-width:72rem;min-width:0}.calc-layout{display:grid;gap:1rem;align-items:start;min-width:0}@media(min-width:960px){.calc-layout{grid-template-columns:minmax(0,22rem) minmax(0,1fr)}}.calc-layout__aside,.calc-layout__main,.calc-panel{min-width:0}.calc-section{padding-bottom:1.1rem;margin-bottom:1rem;border-bottom:1px solid var(--border)}.calc-section--last{margin-bottom:0;padding-bottom:0;border-bottom:none}.calc-section__title{margin:0 0 .35rem;font-size:.6875rem;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.calc-section__title--inline{margin-bottom:.25rem}.calc-section__lead{margin:0 0 1rem;font-size:.8125rem;line-height:1.55;color:var(--muted-soft)}.calc-mode-bar{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-bottom:1rem;padding:.25rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle)}.calc-mode-btn{margin:0;padding:.5rem .45rem;font-family:var(--font-sans);font-size:.75rem;font-weight:600;line-height:1.25;border:none;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--muted-soft);cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.calc-mode-btn:hover{color:var(--text)}.calc-mode-btn--active{background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-sm)}.calc-input-mode{display:none}.calc-input-mode.active{display:block}.calc-field{margin-bottom:.85rem}.calc-field:last-child{margin-bottom:0}.calc-field-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:.85rem}.calc-field--grow{flex:1 1 6rem;margin-bottom:0;min-width:0}.calc-field--narrow{flex:0 0 8.5rem;margin-bottom:0;min-width:0}.calc-page .calc-select{width:100%;font-family:var(--font-sans);font-size:.875rem;padding:.5rem .65rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text)}.calc-page .calc-select:focus{outline:none;border-color:var(--border-strong);box-shadow:0 0 0 3px #ffffff0d}.calc-submit,.calc-price-btn{width:100%;margin-top:.35rem}.calc-output{display:flex;flex-direction:column;min-height:14rem;transition:border-color .2s ease}.calc-output--ready{border-color:#ffffff17}.calc-output__head{margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.calc-output__meta{margin:0;font-size:.75rem;line-height:1.45;color:var(--muted)}.calc-output__placeholder-card{padding:1rem 1.1rem;border-radius:var(--radius-md);border:1px dashed var(--border-strong);background:#0003}.calc-output__placeholder-lead{margin:0 0 .75rem;font-size:.875rem;line-height:1.55;color:var(--muted-soft)}.calc-output__hint-list{margin:0;padding-left:1.1rem;font-size:.8125rem;line-height:1.55;color:var(--muted)}.calc-output__hint-list li{margin-bottom:.35rem}.calc-output__hint-list li:last-child{margin-bottom:0}.calc-output__inner{display:flex;flex-direction:column;gap:1.25rem;animation:calc-output-reveal .4s var(--ease-out-expo)}@keyframes calc-output-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.calc-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.65rem}.calc-stat-card{padding:.75rem .85rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);display:flex;flex-direction:column;gap:.35rem;min-width:0}.calc-stat-card__label{font-size:.625rem;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);line-height:1.35}.calc-stat-card__value{font-family:var(--font-mono);font-size:1.35rem;font-weight:600;color:var(--text);line-height:1.2;word-break:break-word}.calc-stat-card__value--small{font-size:.9375rem;line-height:1.35}.calc-viz{padding-top:.25rem}.calc-viz__title{margin:0 0 .35rem;font-size:.6875rem;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.calc-viz__lead{margin:0 0 .85rem;font-size:.75rem;line-height:1.45;color:var(--muted-soft)}.calc-viz__content{overflow-x:auto;padding-bottom:.25rem}.calc-page .visualization-section{margin-bottom:1rem}.calc-page .visualization-section h5{margin:0 0 .65rem;font-size:.875rem;font-weight:600;color:var(--text)}.calc-page{--calc-accent: var(--text);--calc-body: var(--text-dim);--calc-shulker-border: rgba(167, 139, 250, .42);--calc-shulker-bg: rgba(139, 92, 246, .1);--calc-stack: rgba(212, 175, 55, .32);--calc-stack-border: rgba(212, 175, 55, .48)}.calc-page .shulkers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.55rem;width:100%;max-width:100%;box-sizing:border-box}.calc-page .shulker-box{background:linear-gradient(145deg,var(--calc-shulker-bg),rgba(24,24,27,.92));border:1px solid var(--calc-shulker-border);border-radius:var(--radius-md);display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(3,1fr);gap:3px;padding:6px;position:relative;min-width:0;aspect-ratio:3;box-shadow:0 4px 16px #00000059;animation:calc-shulker-in .4s ease-out backwards}.calc-page .shulker-box:nth-child(odd){animation-delay:.04s}.calc-page .shulker-box:nth-child(2n){animation-delay:.08s}.calc-page .shulker-box.partial{border-style:dashed;opacity:.94}.calc-page .stack-cell{background:var(--calc-stack);border:1px solid var(--calc-stack-border);border-radius:3px;cursor:default;transition:background .15s ease,transform .15s ease;position:relative;overflow:hidden;min-height:0}.calc-page .stack-cell:hover{background:#d4af377a;transform:scale(1.05);z-index:2}.calc-page .stack-cell.empty{background:#18181b8c;border-color:var(--border);cursor:default}.calc-page .stack-cell.empty:hover{transform:none;background:#18181b9e}.calc-page .stack-cell.partial{position:relative}@keyframes calc-shulker-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.calc-page .calc-price-result{display:none;margin-top:1rem;padding:.85rem .95rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface)}.calc-page .calc-price-result--visible{display:block}.calc-page .calc-price-result__title{margin:0 0 .55rem;font-size:.6875rem;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.calc-page .calc-price-result__hint{margin:0;font-size:.8125rem;color:var(--muted-soft)}.calc-page .calc-price-rows{display:flex;flex-direction:column;gap:.45rem}.calc-page .calc-price-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .6rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);font-size:.8125rem}.calc-page .calc-price-row--emphasis .calc-price-row__value{font-size:1rem}.calc-page .calc-price-row__label{color:var(--muted-soft)}.calc-page .calc-price-row__value{font-family:var(--font-mono);font-weight:600;color:var(--text);text-align:right}.calc-page .calc-price-row--alt{border-color:#60a5fa4d;background:#3b82f612}.calc-page .calc-price-row__value--alt{color:#93c5fd}.calc-tooltip{position:fixed;background:#18181bf5;color:var(--text-dim);padding:.5rem .75rem;border-radius:var(--radius-md);font-size:.8125rem;white-space:nowrap;pointer-events:none;z-index:1000;box-shadow:0 6px 20px #00000073;border:1px solid var(--border-strong);animation:calc-tooltip-in .2s ease-out}@keyframes calc-tooltip-in{0%{opacity:0}to{opacity:1}}@media(max-width:720px){.calc-stat-grid{grid-template-columns:1fr}.calc-field-row{flex-direction:column}.calc-field--narrow{flex:1 1 auto}}.tool-page.obhod-page{max-width:72rem}.tool-page.obhod-page .obhod-controls{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin:0 0 1.25rem}.tool-page.obhod-page .obhod-btn,.obhod-modal .obhod-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.55rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);font-family:var(--font-sans);font-size:.875rem;font-weight:600;letter-spacing:-.02em;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .12s ease,box-shadow .2s ease}.tool-page.obhod-page .obhod-btn:hover:not(:disabled),.obhod-modal .obhod-btn:hover:not(:disabled){border-color:var(--border-focus);background:#222226}.tool-page.obhod-page .obhod-btn:active:not(:disabled),.obhod-modal .obhod-btn:active:not(:disabled){transform:translateY(1px)}.tool-page.obhod-page .obhod-btn:disabled,.obhod-modal .obhod-btn:disabled{opacity:.45;cursor:not-allowed}.tool-page.obhod-page .obhod-btn__icon,.obhod-modal .obhod-btn__icon{display:inline-flex;align-items:center;justify-content:center;color:var(--muted-soft)}.tool-page.obhod-page .obhod-btn--accent:hover:not(:disabled),.obhod-modal .obhod-btn--accent:hover:not(:disabled){border-color:#4ade8073;box-shadow:0 0 0 1px #4ade801f}.tool-page.obhod-page .obhod-btn--danger:hover:not(:disabled),.obhod-modal .obhod-btn--danger:hover:not(:disabled){border-color:#f8717180;box-shadow:0 0 0 1px #f871711a}.tool-page.obhod-page .obhod-btn--success:hover:not(:disabled),.obhod-modal .obhod-btn--success:hover:not(:disabled){border-color:#34d39973}.tool-page.obhod-page .obhod-btn--muted,.obhod-modal .obhod-btn--muted{background:var(--bg-subtle);color:var(--text-dim)}.tool-page.obhod-page .obhod-dropzone{margin:0 0 1.25rem;padding:2.25rem 1.5rem;border-radius:var(--radius-lg);border:1px dashed var(--border-strong);background:linear-gradient(165deg,rgba(255,255,255,.03),var(--bg-subtle));cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .25s ease,transform .2s ease}.tool-page.obhod-page .obhod-dropzone:hover{border-color:var(--border-focus);box-shadow:var(--shadow-sm),0 16px 40px #00000059;transform:translateY(-2px)}.tool-page.obhod-page .obhod-dropzone.drag-over{border-style:solid;border-color:#60a5fa8c;background:#3b82f614}.tool-page.obhod-page .obhod-dropzone__inner{text-align:center;max-width:28rem;margin:0 auto}.tool-page.obhod-page .obhod-dropzone__icon{display:flex;justify-content:center;margin-bottom:1rem;color:var(--muted-soft)}.tool-page.obhod-page .obhod-dropzone__icon svg{width:3.25rem;height:3.25rem}.tool-page.obhod-page .obhod-dropzone__title{margin:0 0 .35rem;font-size:1.25rem;font-weight:600;letter-spacing:-.03em}.tool-page.obhod-page .obhod-dropzone__lead{margin:0 0 .75rem;color:var(--muted-soft);font-size:.9375rem;line-height:1.55}.tool-page.obhod-page .obhod-dropzone__hint{display:inline-flex;align-items:center;gap:.4rem;margin:0;padding:.35rem .75rem;border-radius:999px;font-size:.8125rem;color:var(--muted);background:#ffffff0a;border:1px solid var(--border)}.tool-page.obhod-page .obhod-dropzone__hint-dot{width:.35rem;height:.35rem;border-radius:50%;background:var(--muted-soft);opacity:.85}.tool-page.obhod-page .obhod-start-controls{text-align:center;margin-bottom:1.5rem}.tool-page.obhod-page .obhod-start-divider{display:flex;align-items:center;gap:1rem;margin:0 0 1rem;color:var(--muted);font-size:.8125rem}.tool-page.obhod-page .obhod-start-divider:before,.tool-page.obhod-page .obhod-start-divider:after{content:"";flex:1;height:1px;background:var(--border)}.tool-page.obhod-page .obhod-start-edit{min-width:min(100%,16rem)}.tool-page.obhod-page .obhod-editor{margin-bottom:1.25rem}.tool-page.obhod-page .obhod-editor-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.tool-page.obhod-page .obhod-editor-form .gradients-section__title{margin-top:0;margin-bottom:1rem}.tool-page.obhod-page .obhod-field{margin-bottom:1rem}.tool-page.obhod-page .obhod-input,.tool-page.obhod-page .obhod-textarea{width:100%;box-sizing:border-box;padding:.6rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);font-family:var(--font-sans);font-size:.9375rem;transition:border-color .15s ease,box-shadow .15s ease}.tool-page.obhod-page .obhod-input:focus,.tool-page.obhod-page .obhod-textarea:focus{outline:none;border-color:var(--border-strong);box-shadow:0 0 0 3px #ffffff0d}.tool-page.obhod-page .obhod-textarea{resize:vertical;min-height:5rem}.tool-page.obhod-page .obhod-form-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.tool-page.obhod-page .tags-selector{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}.tool-page.obhod-page .tag-checkbox input{position:absolute;opacity:0;pointer-events:none}.tool-page.obhod-page .tag-label{display:inline-block;padding:.4rem .85rem;border-radius:999px;font-size:.8125rem;font-weight:600;border:1px solid var(--border);background:var(--bg-subtle);color:var(--muted-soft);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease}.tool-page.obhod-page .tag-checkbox input:focus-visible+.tag-label{outline:2px solid var(--border-focus);outline-offset:2px}.tool-page.obhod-page .tag-checkbox input:checked+.tag-label{color:var(--text);transform:translateY(-1px)}.tool-page.obhod-page .tag-checkbox input:checked+.tag-mechanisms{border-color:#ff7043;background:#ff70431f}.tool-page.obhod-page .tag-checkbox input:checked+.tag-farm{border-color:#66bb6a;background:#66bb6a1f}.tool-page.obhod-page .tag-checkbox input:checked+.tag-event{border-color:#ab47bc;background:#ab47bc1f}.tool-page.obhod-page .tag-checkbox input:checked+.tag-signs{border-color:#42a5f5;background:#42a5f51f}.tool-page.obhod-page .tag-checkbox input:checked+.tag-lore{border-color:#8d6e63;background:#8d6e6326}.tool-page.obhod-page .tag-checkbox input:checked+.tag-solo{border-color:#ffca28;background:#ffca281f}.tool-page.obhod-page .tag-checkbox input:checked+.tag-large{border-color:#ec407a;background:#ec407a1f}.tool-page.obhod-page .tag-checkbox input:checked+.tag-pooshka{border-color:#e4c46c;background:#e4c46c24}.tool-page.obhod-page .tag-checkbox input:checked+.tag-gwinsen{border-color:#26c6da;background:#26c6da1f}.tool-page.obhod-page .obhod-tag.tag-mechanisms,.tool-page.obhod-page .modal-tag.tag-mechanisms{border-color:#ff7043;background:#ff704326;color:var(--text)}.tool-page.obhod-page .obhod-tag.tag-farm,.tool-page.obhod-page .modal-tag.tag-farm{border-color:#66bb6a;background:#66bb6a26;color:var(--text)}.tool-page.obhod-page .obhod-tag.tag-event,.tool-page.obhod-page .modal-tag.tag-event{border-color:#ab47bc;background:#ab47bc26;color:var(--text)}.tool-page.obhod-page .obhod-tag.tag-signs,.tool-page.obhod-page .modal-tag.tag-signs{border-color:#42a5f5;background:#42a5f526;color:var(--text)}.tool-page.obhod-page .obhod-tag.tag-lore,.tool-page.obhod-page .modal-tag.tag-lore{border-color:#8d6e63;background:#8d6e632e;color:var(--text)}.tool-page.obhod-page .obhod-tag.tag-solo,.tool-page.obhod-page .modal-tag.tag-solo{border-color:#ffca28;background:#ffca2824;color:var(--text)}.tool-page.obhod-page .obhod-tag.tag-large,.tool-page.obhod-page .modal-tag.tag-large{border-color:#ec407a;background:#ec407a24;color:var(--text)}.tool-page.obhod-page .obhod-tag.tag-pooshka,.tool-page.obhod-page .modal-tag.tag-pooshka{border-color:#e4c46c;background:#e4c46c2e;color:var(--text)}.tool-page.obhod-page .obhod-tag.tag-gwinsen,.tool-page.obhod-page .modal-tag.tag-gwinsen{border-color:#26c6da;background:#26c6da24;color:var(--text)}.tool-page.obhod-page .visit-points-container{display:flex;flex-direction:column;gap:.65rem;margin:.35rem 0 0;max-height:22rem;overflow-y:auto;padding:.25rem .15rem .25rem 0;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) var(--bg-subtle)}.tool-page.obhod-page .visit-point{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);padding:.85rem 1rem}.tool-page.obhod-page .point-header{display:flex;align-items:center;gap:.65rem;margin-bottom:.65rem}.tool-page.obhod-page .point-number{font-family:var(--font-mono);font-size:.8125rem;font-weight:600;color:var(--muted)}.tool-page.obhod-page .remove-point-btn{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border-radius:var(--radius-md);border:1px solid var(--border);background:transparent;color:var(--muted-soft);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.tool-page.obhod-page .remove-point-btn:hover{color:#f87171;border-color:#f8717173;background:#f8717114}.tool-page.obhod-page .point-fields{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.tool-page.obhod-page .point-field label{display:block;margin-bottom:.25rem;font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.tool-page.obhod-page .obhod-progress-wrap{margin:0 0 1.25rem}.tool-page.obhod-page .obhod-progress-hint{margin:0 0 .45rem;font-size:.75rem;color:var(--muted)}.tool-page.obhod-page .obhod-progress-bar,.tool-page.obhod-page .obhod-progress-bar-mini{position:relative;height:2.75rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-subtle);overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none}.tool-page.obhod-page .obhod-progress-bar-mini{height:2.25rem;max-width:22rem;width:100%}.tool-page.obhod-page .obhod-progress-fill,.tool-page.obhod-page .obhod-progress-fill-mini{position:absolute;inset:0 auto 0 0;width:0%;border-radius:999px;background:linear-gradient(90deg,#60a5fa59,#818cf8d9);transition:width .55s cubic-bezier(.34,1.2,.64,1)}.tool-page.obhod-page .obhod-progress-fill.completed,.tool-page.obhod-page .obhod-progress-fill-mini.completed{background:linear-gradient(90deg,#34d39959,#22c55ee6)}.tool-page.obhod-page .obhod-progress-count,.tool-page.obhod-page .obhod-progress-count-mini{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.875rem;font-weight:600;color:var(--text);text-shadow:0 1px 2px rgba(0,0,0,.45);pointer-events:none;white-space:nowrap}.tool-page.obhod-page .obhod-progress-count-mini{font-size:.78rem}.tool-page.obhod-page .progress-kaomoji{font-size:1rem;animation:obhod-kaomoji-pop .45s cubic-bezier(.34,1.4,.64,1)}.tool-page.obhod-page .progress-kaomoji.fadeout{opacity:0;transition:opacity .28s ease}@keyframes obhod-kaomoji-pop{0%{transform:scale(.4) rotate(-12deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.tool-page.obhod-page .obhod-progress-mini{position:fixed;top:.65rem;left:50%;transform:translate(-50%);z-index:60;display:flex;justify-content:center;padding:.35rem .75rem;width:min(100% - 1.5rem,26rem);border-radius:var(--radius-lg);border:1px solid var(--border);background:#18181beb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-sm),0 12px 32px #00000073;animation:obhod-mini-in .28s ease-out}.tool-page.obhod-page .obhod-progress-mini.hiding{animation:obhod-mini-out .28s ease-out forwards}@keyframes obhod-mini-in{0%{opacity:0;transform:translate(-50%,-120%)}to{opacity:1;transform:translate(-50%)}}@keyframes obhod-mini-out{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-120%)}}.tool-page.obhod-page .obhod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.85rem;margin:0 0 2rem}.tool-page.obhod-page .obhod-card{position:relative;min-height:10.5rem;padding:1.1rem 1rem 1.25rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .22s ease}.tool-page.obhod-page .obhod-card:hover{border-color:var(--border-focus);transform:translateY(-3px);box-shadow:var(--shadow-sm),0 14px 36px #00000059}.tool-page.obhod-page .obhod-card.editing{cursor:default}.tool-page.obhod-page .obhod-card.visited{border-color:#34d39973;background:linear-gradient(160deg,rgba(52,211,153,.06),var(--surface))}.tool-page.obhod-page .obhod-card.visited:after{content:"";position:absolute;top:.5rem;right:.5rem;width:1.35rem;height:1.35rem;border-radius:50%;background:#22c55ee6;box-shadow:0 0 0 2px #00000059;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:.75rem}.tool-page.obhod-page .obhod-card.editing.visited:after{display:none}.tool-page.obhod-page .obhod-card-actions{position:absolute;top:.4rem;right:.4rem;display:flex;gap:.35rem;opacity:0;transition:opacity .2s ease;z-index:3}.tool-page.obhod-page .obhod-card.editing .obhod-card-actions,.tool-page.obhod-page .obhod-card:hover .obhod-card-actions{opacity:1}.tool-page.obhod-page .card-action-btn{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border-radius:var(--radius-md);border:1px solid var(--border);background:#18181beb;color:var(--muted-soft);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.tool-page.obhod-page .card-edit-btn:hover{color:#86efac;border-color:#4ade8073}.tool-page.obhod-page .card-delete-btn:hover{color:#fca5a5;border-color:#f8717173}.tool-page.obhod-page .obhod-emoji{font-size:2.35rem;line-height:1;margin-bottom:.45rem}.tool-page.obhod-page .obhod-title{margin:0;font-size:.9375rem;font-weight:600;letter-spacing:-.02em;line-height:1.35;word-break:break-word;color:var(--text)}.tool-page.obhod-page .obhod-tags-overlay{position:absolute;left:0;right:0;bottom:0;padding:.45rem .5rem .55rem;border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:1px solid var(--border);background:#09090bc7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);max-height:2.75rem;overflow:hidden;opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}.tool-page.obhod-page .obhod-card:hover .obhod-tags-overlay{opacity:1;transform:translateY(0)}.tool-page.obhod-page .obhod-tags-wrapper{display:flex;gap:.45rem;width:max-content}.tool-page.obhod-page .obhod-tags-wrapper.scrolling{animation:obhod-marquee 18s linear infinite}@media(prefers-reduced-motion:reduce){.tool-page.obhod-page .obhod-tags-wrapper.scrolling{animation:none}}@keyframes obhod-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.tool-page.obhod-page .obhod-tag{padding:.2rem .55rem;border-radius:999px;font-size:.68rem;font-weight:600;white-space:nowrap;flex-shrink:0}.tool-page.obhod-page .obhod-tag--sep{background:transparent!important;border:none!important;color:var(--muted)!important;padding:0 .15rem}.tool-page.obhod-page .no-obhods{text-align:center;padding:2.5rem 1.25rem}.tool-page.obhod-page .no-obhods__icon{display:flex;justify-content:center;margin-bottom:.75rem;color:var(--muted)}.tool-page.obhod-page .no-obhods__icon svg{width:3rem;height:3rem}.tool-page.obhod-page .no-obhods__title{margin:0 0 .35rem;font-size:1.1rem;font-weight:600}.tool-page.obhod-page .no-obhods__text{margin:0;color:var(--muted-soft);font-size:.9rem;line-height:1.55}.obhod-modal[hidden]{display:none!important}.obhod-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8500;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .22s ease}.obhod-modal.obhod-modal--open{opacity:1;pointer-events:auto}.obhod-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000009e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer}.obhod-modal__card{position:relative;z-index:1;width:100%;max-width:36rem;max-height:min(88vh,36rem);display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm),0 24px 56px #0000008c;transform:translateY(8px) scale(.98);transition:transform .22s ease,opacity .22s ease}.obhod-modal.obhod-modal--open .obhod-modal__card{transform:translateY(0) scale(1)}.obhod-modal-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1rem .85rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}.obhod-modal-emoji{font-size:2rem;line-height:1;width:3rem;height:3rem;display:grid;place-items:center;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);flex-shrink:0}.obhod-modal-title{flex:1;margin:0;min-width:0;font-size:1.15rem;font-weight:600;letter-spacing:-.03em;line-height:1.25}.obhod-modal-close{flex-shrink:0;display:grid;place-items:center;width:2.35rem;height:2.35rem;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--muted);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.obhod-modal-close:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-raised)}.obhod-modal-body{padding:1rem 1.05rem;overflow-y:auto;min-height:0;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) var(--bg-subtle)}.obhod-modal-footer{padding:.85rem 1rem 1rem;border-top:1px solid var(--border);display:flex;justify-content:center;background:linear-gradient(0deg,rgba(255,255,255,.02),transparent)}.obhod-modal-footer .obhod-btn{min-width:min(100%,18rem)}.obhod-modal-footer .mark-visited-btn.unmark{border-color:#fbbf2473;background:#fbbf2414}.modal-section{margin-bottom:1.1rem}.modal-section:last-child{margin-bottom:0}.modal-section__title{margin:0 0 .45rem;font-size:.6875rem;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.modal-section__text{margin:0;font-size:.9rem;line-height:1.55;color:var(--muted-soft)}.modal-tags-container{display:flex;flex-wrap:wrap;gap:.45rem}.modal-tag{padding:.35rem .75rem;border-radius:999px;font-size:.78rem;font-weight:600;border-width:1px;border-style:solid}.modal-visit-points{display:flex;flex-direction:column;gap:.65rem}.modal-visit-point{display:flex;gap:.65rem;padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle)}.point-number-badge{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono);font-size:.75rem;font-weight:700;color:var(--text);border:1px solid var(--border-strong);background:var(--surface-raised)}.point-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.45rem}.point-desc{font-size:.9rem;color:var(--text-dim);line-height:1.45}.point-cmd{border-radius:var(--radius-md);border:1px solid var(--border);background:#0003;padding:.35rem}.obhod-command-code{display:block;width:100%;box-sizing:border-box;text-align:left;font-family:var(--font-mono);font-size:.78rem;line-height:1.45;word-break:break-all;padding:.55rem .65rem;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;transition:border-color .15s ease,background .15s ease}.obhod-command-code:hover{border-color:var(--border-strong);background:#ffffff0a}.obhod-command-code.copied{border-color:#34d3998c;color:#6ee7b7;background:#34d39914}.modal-command{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);padding:.35rem}.no-info{margin:0;text-align:center;font-size:.9rem;color:var(--muted);font-style:italic;padding:1rem 0}.obhod-toast{position:fixed;top:1rem;right:1rem;z-index:9000;max-width:min(22rem,calc(100vw - 2rem));padding:.65rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:#18181bf5;color:var(--text);font-size:.875rem;line-height:1.45;box-shadow:var(--shadow-sm),0 12px 32px #00000073;transform:translate(120%);opacity:0;transition:transform .28s ease,opacity .28s ease}.obhod-toast--visible{transform:translate(0);opacity:1}.obhod-toast--success{border-color:#34d39973}.obhod-toast--error{border-color:#f8717180}.obhod-toast--warning{border-color:#fbbf2473}.obhod-toast--info{border-color:#60a5fa73}.obhod-toast__text{display:block}@media(max-width:720px){.tool-page.obhod-page .point-fields{grid-template-columns:1fr}.tool-page.obhod-page .obhod-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr))}.jar-checker-actions{flex-direction:column;align-items:stretch}.jar-checker-threats__grid{grid-template-columns:1fr}}.tool-page.jar-checker-page{max-width:48rem}.jar-checker-notice{margin-bottom:1.25rem}.jar-checker-notice__list{margin:0;padding-left:1.15rem;color:var(--muted-soft);font-size:.9rem;line-height:1.6}.jar-checker-notice__list li+li{margin-top:.45rem}.jar-checker-dropzone{margin-bottom:1.25rem;padding:2rem 1.5rem;border-radius:var(--radius-lg);border:1px dashed var(--border-strong);background:linear-gradient(165deg,rgba(255,255,255,.03),var(--bg-subtle));text-align:center;cursor:pointer;transition:border-color .2s ease,box-shadow .22s ease,transform .2s ease}.jar-checker-dropzone:hover{border-color:var(--border-focus);box-shadow:var(--shadow-sm),0 14px 36px #00000052;transform:translateY(-2px)}.jar-checker-dropzone--drag{border-style:solid;border-color:#60a5fa8c;background:#3b82f612}.jar-checker-dropzone__icon{display:flex;justify-content:center;margin-bottom:.85rem;color:var(--muted-soft)}.jar-checker-dropzone__icon svg{width:2.75rem;height:2.75rem}.jar-checker-dropzone__title{margin:0 0 .35rem;font-size:1.15rem;font-weight:600;letter-spacing:-.03em}.jar-checker-dropzone__lead{margin:0 0 .65rem;color:var(--muted-soft);font-size:.9375rem}.jar-checker-dropzone__browse{color:var(--text-dim);text-decoration:underline;text-underline-offset:.15em;cursor:pointer;font-weight:600}.jar-checker-dropzone__browse:hover{color:var(--text)}.jar-checker-dropzone__hint{margin:0;font-size:.8125rem;color:var(--muted)}.jar-checker-actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;margin-bottom:1.25rem}.jar-checker-actions__primary{display:inline-flex;align-items:center;gap:.4rem}.jar-checker-actions__icon{display:inline-flex;color:var(--muted-soft)}.jar-checker-actions__danger{border-color:#f8717159;background:#f871710f}.jar-checker-actions__danger:hover{border-color:#f871718c;background:#f871711a}.jar-checker-actions__ghost{border-color:#818cf859;background:#818cf80f}.jar-checker-actions__ghost:hover{border-color:#818cf880;background:#818cf81a}.jar-checker-progress{margin-bottom:1rem}.jar-checker-progress__track{height:.45rem;border-radius:999px;background:var(--bg-subtle);border:1px solid var(--border);overflow:hidden;margin-bottom:.4rem}.jar-checker-progress__fill{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#60a5fa59,#818cf8f2);transition:width .28s ease}.jar-checker-progress__text{margin:0;text-align:center;font-family:var(--font-mono);font-size:.78rem;color:var(--muted)}.jar-checker-status{text-align:center;margin:0 0 1.25rem}.jar-checker-status__label{font-size:1rem;font-weight:600;letter-spacing:-.02em}.jar-checker-status__label--idle{color:var(--muted-soft)}.jar-checker-status__label--active{color:#93c5fd}.jar-checker-status__label--clean{color:#6ee7b7}.jar-checker-status__label--infected{color:#fca5a5}.jar-checker-status__label--error{color:#c4b5fd}.jar-checker-output{margin-bottom:2rem}.jar-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.jar-result{border-radius:var(--radius-md);border:1px solid var(--border);padding:.85rem 1rem;background:var(--bg-subtle)}.jar-result--clean{border-color:#34d39959}.jar-result--infected{border-color:#f8717173}.jar-result--error{border-color:#a78bfa73}.jar-result__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .65rem}.jar-result__name{font-weight:600;font-family:var(--font-mono);font-size:.875rem}.jar-result__badge{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .45rem;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.jar-result--clean .jar-result__badge{color:#6ee7b7;border-color:#34d39966}.jar-result--infected .jar-result__badge{color:#fca5a5;border-color:#f8717173}.jar-result--error .jar-result__badge{color:#c4b5fd;border-color:#a78bfa73}.jar-result__meta{font-size:.78rem;color:var(--muted);margin-left:auto}.jar-result__error{margin:.5rem 0 0;font-size:.8125rem;color:#c4b5fd}.jar-result__classes{margin:.65rem 0 0;padding-left:1rem;list-style:disc;color:var(--muted-soft);font-size:.84rem}.jar-class__name{font-family:var(--font-mono);font-size:.8rem;word-break:break-all}.jar-class__state{font-weight:600;font-size:.78rem}.jar-class--infected .jar-class__state{color:#fca5a5}.jar-class--error .jar-class__state{color:#c4b5fd}.jar-class__error{display:block;margin:.35rem 0 0;padding:.45rem .55rem;border-radius:var(--radius-md);background:#00000040;border:1px solid var(--border);font-family:var(--font-mono);font-size:.72rem;white-space:pre-wrap;word-break:break-word}.jar-matches{margin:.45rem 0 0;padding-left:1rem;list-style:circle}.jar-match{margin-bottom:.45rem;padding:.55rem .65rem;border-radius:var(--radius-md);border:1px solid var(--border);background:#0000002e}.jar-match--high{border-color:#f8717159}.jar-match--medium{border-color:#fbbf2459}.jar-match__row{display:flex;flex-wrap:wrap;gap:.35rem .65rem;font-size:.8rem;margin-bottom:.25rem}.jar-match__k{color:var(--muted);font-weight:600;min-width:5.5rem}.jar-match__v{color:var(--text)}.jar-match__code{font-family:var(--font-mono);font-size:.72rem;word-break:break-all;color:var(--text-dim)}.jar-match__desc{margin:.25rem 0;font-size:.8rem;color:var(--muted-soft);line-height:1.45}.jar-match__sev{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.jar-checker-threats{margin-top:.5rem}.jar-checker-threats__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.75rem}.jar-checker-threat-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);padding:1rem 1rem 1.05rem;box-shadow:var(--shadow-sm);transition:border-color .18s ease,transform .18s ease}.jar-checker-threat-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.jar-checker-threat-card[data-severity=high]{border-top:3px solid rgba(248,113,113,.75)}.jar-checker-threat-card[data-severity=medium]{border-top:3px solid rgba(251,191,36,.75)}.jar-checker-threat-card__icon{display:flex;margin-bottom:.5rem;color:var(--muted-soft)}.jar-checker-threat-card__icon svg{width:1.75rem;height:1.75rem}.jar-checker-threat-card__title{margin:0 0 .35rem;font-size:.9375rem;font-weight:600;letter-spacing:-.02em}.jar-checker-threat-card__desc{margin:0;font-size:.8125rem;line-height:1.5;color:var(--muted-soft)}.tool-page.dep-chk-page{max-width:52rem}.dep-chk-notice{margin-bottom:1.25rem}.dep-chk-notice__list{margin:0;padding-left:1.15rem;color:var(--muted-soft);font-size:.9rem;line-height:1.6}.dep-chk-notice__list li+li{margin-top:.45rem}.dep-chk-form{margin-bottom:1rem}.dep-chk-url{width:100%;min-height:3.25rem;margin-bottom:1rem;resize:vertical}.dep-chk-form__row{display:grid;gap:1rem;margin-bottom:1rem}@media(min-width:640px){.dep-chk-form__row{grid-template-columns:1fr 1.1fr;align-items:start}}.dep-chk-input{width:100%;padding:.55rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-subtle);color:var(--text);font-family:var(--font-mono);font-size:.875rem}.dep-chk-hint{margin:.35rem 0 0;font-size:.75rem;color:var(--muted);line-height:1.45}.dep-chk-loaders{margin:0;padding:0;border:none}.dep-chk-loaders__legend{margin-bottom:.55rem}.dep-chk-loaders__chips{display:flex;flex-wrap:wrap;gap:.45rem}.dep-chk-chip{position:relative;display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.dep-chk-chip__input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}.dep-chk-chip__body{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.4rem .95rem;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-subtle);font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-soft);box-shadow:0 1px #0003;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.dep-chk-chip:hover .dep-chk-chip__body{border-color:#ffffff1f;color:var(--text-dim);background:#ffffff08}.dep-chk-chip:has(.dep-chk-chip__input:checked) .dep-chk-chip__body{background:var(--surface-raised);border-color:var(--border-focus);color:var(--text);box-shadow:var(--shadow-sm),0 0 0 1px #ffffff0a}.dep-chk-chip:has(.dep-chk-chip__input:focus-visible) .dep-chk-chip__body{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #ffffff0f}.dep-chk-chip:has(.dep-chk-chip__input:checked):has(.dep-chk-chip__input:focus-visible) .dep-chk-chip__body{box-shadow:var(--shadow-sm),0 0 0 3px #ffffff14}.dep-chk-form__actions{margin-top:.25rem}.dep-chk-status{margin:0 0 .65rem;font-size:.875rem;color:var(--muted-soft)}.dep-chk-error{margin:0 0 1rem;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid rgba(248,113,113,.35);background:#f8717114;color:#fecaca;font-size:.875rem;line-height:1.5}.dep-chk-output{margin-top:.5rem}.dep-chk-results{padding:.15rem 0 .25rem}.dep-chk-results__hero{margin-bottom:1.1rem;padding-bottom:1rem;border-bottom:1px solid var(--border);box-shadow:0 1px #ffffff08}.dep-chk-results__eyebrow{margin-bottom:.4rem}.dep-chk-results__title{margin:0 0 .45rem;font-size:1.25rem;font-weight:600;letter-spacing:-.035em;line-height:1.25;color:var(--text)}.dep-chk-results__meta{margin:0;font-size:.8125rem;color:var(--muted-soft);line-height:1.5}.dep-chk-results__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;margin-bottom:1rem}.dep-chk-results__toolbar .btn[disabled]{opacity:.45;cursor:not-allowed}.dep-chk-results__grid{display:grid;gap:.85rem}.dep-chk-results__incompat{margin-top:1.35rem;padding-top:1.15rem;border-top:1px solid rgba(248,113,113,.22);box-shadow:inset 0 1px #ffffff08}.dep-chk-results__incompat-title{margin:0 0 .45rem;color:#fecaca}.dep-chk-results__incompat-lead{margin:0 0 1rem;max-width:40rem;font-size:.8125rem;line-height:1.55;color:var(--muted-soft)}.dep-chk-results__grid--incompat{margin-top:0}@media(min-width:720px){.dep-chk-results__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dep-chk-card{position:relative;border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(165deg,rgba(255,255,255,.04),var(--surface));padding:1rem 1.05rem 1.05rem;box-shadow:var(--shadow-sm),0 14px 32px #00000038;transition:border-color .18s ease,box-shadow .2s ease,transform .18s ease}.dep-chk-card:hover{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:var(--shadow-sm),0 18px 40px #00000047}.dep-chk-card--root{grid-column:1 / -1;border-color:#ffffff1a;background:linear-gradient(145deg,rgba(255,255,255,.06),var(--surface-raised));box-shadow:var(--shadow-sm),0 0 0 1px #ffffff0d inset,0 18px 44px #00000052}.dep-chk-card--root:before{content:"";position:absolute;left:0;top:.65rem;bottom:.65rem;width:3px;border-radius:999px;background:linear-gradient(180deg,#fafafa8c,#71717a59)}.dep-chk-card--root{padding-left:1.15rem}.dep-chk-card--warn{border-color:#f8717147;background:linear-gradient(165deg,rgba(248,113,113,.07),var(--surface))}.dep-chk-card__top{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;margin-bottom:.55rem}.dep-chk-card__badge{display:inline-block;padding:.2rem .45rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-subtle);font-family:var(--font-mono);font-size:.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.dep-chk-card--root .dep-chk-card__badge{color:var(--text-dim);border-color:#ffffff1f}.dep-chk-card__name{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.025em;line-height:1.3;color:var(--text)}.dep-chk-card__slug{margin:0 0 .35rem;font-size:.75rem;color:var(--muted-soft)}.dep-chk-card__slug code{font-size:.72rem;color:var(--muted)}.dep-chk-card__version{margin:0 0 .85rem;font-family:var(--font-mono);font-size:.78rem;line-height:1.45;color:var(--text-dim)}.dep-chk-card__actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.dep-chk-card__nojar{font-size:.75rem;color:var(--muted);font-style:italic}.tool-page.mrpack-page{max-width:52rem}.mrpack-notice{margin-bottom:1.25rem}.mrpack-notice__list{margin:0;padding-left:1.15rem;color:var(--muted-soft);font-size:.9rem;line-height:1.6}.mrpack-notice__list li+li{margin-top:.45rem}.mrpack-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.mrpack-dropzone{margin-bottom:1.25rem;padding:2rem 1.5rem;border-radius:var(--radius-lg);border:1px dashed var(--border-strong);background:linear-gradient(165deg,rgba(255,255,255,.035),var(--bg-subtle));text-align:center;cursor:pointer;outline:none;transition:border-color .2s ease,box-shadow .22s ease,transform .2s ease}.mrpack-dropzone:hover,.mrpack-dropzone:focus-visible{border-color:var(--border-focus);box-shadow:var(--shadow-sm),0 14px 36px #00000052;transform:translateY(-2px)}.mrpack-dropzone--drag{border-style:solid;border-color:#60a5fa8c;background:#3b82f612}.mrpack-dropzone__icon{display:flex;justify-content:center;margin-bottom:.75rem;color:var(--muted-soft)}.mrpack-dropzone__title{margin:0 0 .35rem;font-size:1.1rem;font-weight:600;letter-spacing:-.03em}.mrpack-dropzone__lead{margin:0 0 .5rem;color:var(--muted-soft);font-size:.9rem}.mrpack-dropzone__kbd{margin:0;font-size:.75rem;color:var(--muted)}.mrpack-dropzone__kbd kbd{font-family:var(--font-mono);padding:.1rem .35rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface)}.mrpack-progress{margin-bottom:1rem}.mrpack-progress__track{height:.45rem;border-radius:999px;background:var(--bg-subtle);border:1px solid var(--border);overflow:hidden}.mrpack-progress__bar{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#60a5fad9,#a78bfad9);transition:width .2s ease}.mrpack-progress__text{margin:.45rem 0 0;font-size:.8125rem;color:var(--muted-soft);white-space:pre-line;word-break:break-word}.mrpack-problems{margin-bottom:1rem}.mrpack-problems__list{margin:.65rem 0 0;padding-left:1.15rem;list-style:disc}.mrpack-problems__item{margin-bottom:.75rem}.mrpack-problems__item--error .mrpack-problems__badge{color:#fecaca}.mrpack-problems__item--warn .mrpack-problems__badge{color:#fde047}.mrpack-problems__badge{font-size:.6875rem;font-weight:700;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;margin-right:.25rem}.mrpack-problems__name{font-weight:600;color:var(--text-dim)}.mrpack-problems__path{display:inline-block;margin-left:.25rem;font-size:.75rem;vertical-align:baseline}.mrpack-problems__msg{margin:.35rem 0 0;font-size:.8125rem;color:var(--muted-soft);line-height:1.45}.mrpack-toolbar{margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.mrpack-summary{margin-bottom:1rem}.mrpack-summary__dl{display:grid;gap:.65rem 1rem;margin:.75rem 0 0}@media(min-width:520px){.mrpack-summary__dl{grid-template-columns:12rem 1fr}}.mrpack-summary__dl dt{margin:0;font-family:var(--font-mono);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.mrpack-summary__dl dd{margin:0;font-size:.875rem;color:var(--text-dim)}.mrpack-results{margin-top:.5rem}.mrpack-results__head{margin-bottom:1rem}.mrpack-results__counts{display:flex;flex-wrap:wrap;gap:.45rem;margin:.5rem 0 0}.mrpack-pill{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;font-family:var(--font-mono);border:1px solid var(--border)}.mrpack-pill--ok{color:#86efac;border-color:#22c55e59;background:#22c55e14}.mrpack-pill--warn{color:#fde047;border-color:#eab30859;background:#eab30814}.mrpack-pill--err{color:#fecaca;border-color:#f8717159;background:#f8717114}.mrpack-group{margin-bottom:1.5rem}.mrpack-group__title{margin-bottom:.65rem}.mrpack-group__grid{display:grid;gap:.75rem}@media(min-width:680px){.mrpack-group__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.mrpack-card{display:grid;grid-template-columns:auto 1fr;gap:.65rem .85rem;align-items:start;padding:.95rem 1rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}.mrpack-card--ok{border-left:3px solid rgba(34,197,94,.65)}.mrpack-card--warn{border-left:3px solid rgba(234,179,8,.75);background:linear-gradient(165deg,rgba(234,179,8,.06),var(--surface))}.mrpack-card--error{border-left:3px solid rgba(248,113,113,.75);background:linear-gradient(165deg,rgba(248,113,113,.07),var(--surface))}.mrpack-card__status{grid-row:1 / -1;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:800;font-family:var(--font-mono);color:var(--text);background:var(--bg-subtle);border:1px solid var(--border-strong)}.mrpack-card--ok .mrpack-card__status{color:#86efac}.mrpack-card--warn .mrpack-card__status{color:#fde047}.mrpack-card--error .mrpack-card__status{color:#fecaca}.mrpack-card__body{min-width:0}.mrpack-card__title{margin:0 0 .25rem;font-size:.95rem;font-weight:600;letter-spacing:-.02em}.mrpack-card__path{margin:0 0 .35rem;font-size:.72rem;color:var(--muted-soft);word-break:break-all}.mrpack-card__ver{margin:0 0 .35rem;font-size:.78rem;font-family:var(--font-mono);color:var(--text-dim)}.mrpack-card__msgs{margin:.25rem 0 0;padding-left:1rem;font-size:.78rem;color:var(--muted-soft);line-height:1.45}.mrpack-card__msgs--deps{color:#fde68a}.mrpack-card__actions{grid-column:2;display:flex;flex-wrap:wrap;gap:.4rem}.home-hub{margin-top:.5rem}.home-hub__switch{position:relative;display:inline-flex;gap:.25rem;padding:.28rem;margin-bottom:1.35rem;border-radius:999px;border:1px dashed rgba(100,116,139,.45);background:linear-gradient(165deg,#1e293b8c,#0f172a59),var(--surface);box-shadow:var(--shadow-sm)}.home-hub__tab{position:relative;z-index:1;border:0;background:transparent;color:var(--muted-soft);font-family:var(--font-mono);font-size:.78rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;padding:.5rem 1rem;border-radius:999px;cursor:pointer;transition:color .2s ease}.home-hub__tab:hover{color:var(--text-dim)}.home-hub__tab.is-active{color:var(--text)}.home-hub__indicator{position:absolute;top:.28rem;left:.28rem;height:calc(100% - .56rem);border-radius:999px;background:#94a3b824;border:1px solid rgba(148,163,184,.22);box-shadow:inset 0 1px #ffffff0f;pointer-events:none;transition:left .35s cubic-bezier(.22,1,.36,1),width .35s cubic-bezier(.22,1,.36,1)}.home-hub__panel{animation:home-hub-fade .35s ease}.home-hub__panel[hidden]{display:none!important}.home-hub__games-lead{margin:-.35rem 0 1.1rem;max-width:28rem;font-size:.88rem;color:var(--muted-soft);line-height:1.5}.tool-card--game{--game-gold: #fbbf24;--game-gold-soft: #fcd34d;--game-gold-dim: rgba(251, 191, 36, .55);border-color:#fbbf2461;background:radial-gradient(120% 90% at 50% 0%,rgba(251,191,36,.14) 0%,transparent 55%),linear-gradient(165deg,rgba(120,53,15,.22) 0%,transparent 48%),var(--surface);box-shadow:var(--shadow-sm),0 12px 36px #00000052,0 0 28px #fbbf2414}.tool-card--game:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:0;background:radial-gradient(ellipse 80% 60% at 50% 100%,rgba(251,191,36,.1) 0%,transparent 70%);opacity:.85}.tool-card--game:hover{border-color:#fcd34db8;box-shadow:var(--shadow-sm),0 0 0 1px #fbbf242e inset,0 18px 52px #0000006b,0 0 36px #fbbf2438,0 0 64px #f59e0b1f}.tool-card--game:focus-visible{border-color:#fcd34dd9;box-shadow:0 0 0 3px #fbbf241f,var(--shadow-sm),0 18px 48px #00000073,0 0 32px #fbbf242e}.tool-card--game .tool-card__ticks{border-color:#fbbf2433}.tool-card--game:hover .tool-card__ticks{border-color:#fcd34d6b}.tool-card--game .tool-card__scan{background:linear-gradient(to bottom,transparent,rgba(251,191,36,.12) 45%,rgba(252,211,77,.22) 50%,rgba(251,191,36,.1) 55%,transparent)}.tool-card--game .tool-card__sheen{background:linear-gradient(118deg,transparent 32%,rgba(252,211,77,.06) 42%,rgba(251,191,36,.22) 50%,rgba(255,237,160,.14) 54%,rgba(252,211,77,.06) 62%,transparent 72%)}.tool-card--game:hover .tool-card__sheen{opacity:1;animation:tool-card-game-shimmer 1.1s var(--ease-out-expo) 1 both}@keyframes tool-card-game-shimmer{0%{transform:translate(-108%) rotate(10deg)}to{transform:translate(108%) rotate(10deg)}}.tool-card--game .tool-card__icon{color:#fcd34de0;filter:drop-shadow(0 0 10px rgba(251,191,36,.35))}.tool-card--game:hover .tool-card__icon{color:var(--game-gold-soft);filter:drop-shadow(0 0 14px rgba(251,191,36,.5))}.tool-card--game .tool-card__title{color:#fef3c7;text-shadow:0 0 20px rgba(251,191,36,.25)}.tool-card--game:hover .tool-card__title{color:#fffbeb}.tool-card--game .tool-card__tagline{color:#fde68ab8}.tool-card--game:hover .tool-card__tagline{color:#fef3c7e0}@media(prefers-reduced-motion:reduce){.tool-card--game:hover .tool-card__sheen{animation:none}}@keyframes home-hub-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}body.tetris-input-lock{overflow:hidden;overscroll-behavior:none}.tetris-page.tool-page{max-width:min(96vw,56rem);padding-bottom:3rem}@media(min-width:900px){.tetris-page.tool-page{max-width:min(94vw,72rem)}}.tetris-page .tool-page__intro a{color:var(--accent)}.tetris-page .tool-page__intro{max-width:40rem}.tetris-app{display:flex;flex-direction:column;gap:1.25rem;width:100%}@media(min-width:1024px){.tetris-app{display:grid;grid-template-columns:minmax(0,1fr) 16.5rem;gap:1.5rem 2rem;align-items:start}}.tetris-app__stage{display:flex;justify-content:center;width:100%;min-width:0}.tetris-arena{--arena-pulse: 0;position:relative;width:100%;max-width:100%;outline:none}.tetris-arena:focus-visible{outline:2px solid rgba(56,189,248,.45);outline-offset:6px;border-radius:var(--radius-lg)}.tetris-arena__glow{position:absolute;top:-8%;right:-4%;bottom:-8%;left:-4%;border-radius:50%;pointer-events:none;z-index:0;opacity:.35;background:radial-gradient(ellipse 60% 55% at 50% 45%,rgba(56,189,248,calc(.14 + var(--arena-pulse) * .08)) 0%,transparent 70%);filter:blur(24px)}.tetris-arena__glow--alt{display:none}.tetris-arena__flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;opacity:0;border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(224,242,254,.35) 0%,rgba(56,189,248,.2) 40%,transparent 100%)}.tetris-board-wrap{position:relative;z-index:1;padding:.675rem;transform-origin:center center;border-radius:var(--radius-lg);border:1px dashed rgba(100,116,139,.5);background:linear-gradient(165deg,rgba(30,41,59,.5) 0%,transparent 45%),var(--surface);box-shadow:var(--shadow-sm),0 20px 48px #0006}.tetris-board-wrap__corner{position:absolute;width:1.1rem;height:1.1rem;border-color:#7dd3fcbf;border-style:solid;pointer-events:none;z-index:3}.tetris-board-wrap__corner[data-pos=tl]{top:.55rem;left:.55rem;border-width:2px 0 0 2px}.tetris-board-wrap__corner[data-pos=tr]{top:.55rem;right:.55rem;border-width:2px 2px 0 0}.tetris-board-wrap__corner[data-pos=bl]{bottom:.55rem;left:.55rem;border-width:0 0 0 2px;border-bottom-width:2px}.tetris-board-wrap__corner[data-pos=br]{bottom:.55rem;right:.55rem;border-width:0 2px 2px 0}.tetris-board-wrap__badge{display:none}.tetris-board-wrap__ticks{position:absolute;top:.75rem;right:.75rem;bottom:.75rem;left:.75rem;border-radius:calc(var(--radius-lg) - 2px);pointer-events:none;z-index:1;background:linear-gradient(90deg,rgba(148,163,184,.07) 1px,transparent 1px) 0 0 / 14px 14px,linear-gradient(rgba(148,163,184,.05) 1px,transparent 1px) 0 0 / 14px 14px;-webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 48%,#000 25%,transparent 100%);mask-image:radial-gradient(ellipse 90% 80% at 50% 48%,#000 25%,transparent 100%);opacity:.7}.tetris-board-wrap__scan{position:absolute;left:.75rem;right:.75rem;top:.75rem;height:22%;z-index:2;pointer-events:none;background:linear-gradient(to bottom,transparent,rgba(148,163,184,.1) 48%,rgba(226,232,240,.06) 50%,transparent);opacity:.45}.tetris-board-inner{position:relative;width:100%;border-radius:calc(var(--radius-md) + 2px);overflow:hidden;box-shadow:inset 0 0 0 1px #94a3b81f,inset 0 24px 48px #00000059}.tetris-canvas{display:block;width:100%;max-width:100%;height:auto;margin:0 auto;background:repeating-conic-gradient(#1e293b80,#1e293b80 25%,#0f172abf 0%,#0f172abf 50%) 0 0 / 16px 16px;image-rendering:pixelated;image-rendering:crisp-edges}.tetris-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;text-align:center;padding:1.25rem;z-index:6;background:#020817c7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tetris-overlay[hidden]{display:none!important}.tetris-overlay__action{min-width:10rem;padding:.75rem 1.5rem;border:0;border-radius:999px;font-family:var(--font-mono);font-size:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#0f172a;cursor:pointer;background:linear-gradient(135deg,#7dd3fc,#38bdf8 45%,#0ea5e9);box-shadow:0 0 0 1px #fff3 inset,0 8px 28px #0ea5e973;transition:transform .2s ease,box-shadow .2s ease}.tetris-overlay__action:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 0 0 1px #ffffff47 inset,0 12px 36px #0ea5e98c}.tetris-overlay__hint{margin:0;font-size:.78rem;color:#bae6fdbf}.tetris-sidebar{display:flex;flex-direction:column;gap:.75rem;width:100%}@media(min-width:1024px){.tetris-sidebar{position:sticky;top:1rem}}.tetris-stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.tetris-combo{margin:0;padding:.45rem .65rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-align:center;color:#fde68a;background:#fbbf241a;border:1px solid rgba(251,191,36,.28)}.tetris-combo[hidden]{display:none!important}.tetris-stat{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .65rem;border-radius:var(--radius-md);border:1px solid rgba(71,85,105,.4);background:#0f172a8c}.tetris-stat--score .tetris-stat__value{color:#e0f2fe}.tetris-stat--level .tetris-stat__value{color:#fde68a}.tetris-stat__label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-soft)}.tetris-stat__value{font-family:var(--font-mono);font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.tetris-panel{padding:.75rem .85rem;border-radius:var(--radius-md);border:1px dashed rgba(100,116,139,.38);background:#0f172a73}.tetris-next{transform-origin:center center}.tetris-next__title,.tetris-palette__title{margin:0 0 .55rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted-soft)}.tetris-next__canvas{display:block;margin:0 auto .65rem;padding:.5rem;border-radius:var(--radius-sm);background:repeating-conic-gradient(#1e293b8c,#1e293b8c 25%,#0f172abf 0%,#0f172abf 50%) 0 0 / 10px 10px;border:1px solid rgba(56,189,248,.15)}.tetris-pause-btn{width:100%;justify-content:center}.tetris-palette__list{list-style:none;margin:0 0 .65rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.tetris-palette__item{display:grid;grid-template-columns:1.75rem 1fr;align-items:center;gap:.55rem;font-size:.76rem;color:var(--text-dim)}.tetris-palette__thumb{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:4px;background:repeating-conic-gradient(#1e293b8c,#1e293b8c 25%,#0f172ab3 0%,#0f172ab3 50%) 0 0 / 8px 8px}.tetris-palette__thumb img{image-rendering:pixelated}@media(max-width:520px){.tetris-stats-row{grid-template-columns:1fr}.tetris-stat{flex-direction:row;justify-content:space-between;align-items:baseline}}@media(prefers-reduced-motion:reduce){.tetris-board-wrap__scan,.tetris-arena__glow{animation:none!important}}.g2048-page .tool-page__intro strong{color:#fde68a}.g2048-app{--g2048-cell: clamp(3.4rem, 14vw, 4.6rem);--g2048-gap: .62rem;--g2048-board-pad: .85rem;--g2048-board-size: calc( 4 * var(--g2048-cell) + 3 * var(--g2048-gap) + 2 * var(--g2048-gap) + 2 * var(--g2048-board-pad) );display:flex;flex-direction:column;align-items:center;gap:1.25rem;width:100%}@media(min-width:900px){.g2048-app{display:grid;grid-template-columns:minmax(0,auto) 14.5rem;justify-content:center;align-items:start;gap:1.5rem 2rem}}.g2048-arena{--g2048-score-bump: #fde68a;position:relative;width:var(--g2048-board-size);max-width:100%;margin:0 auto;outline:none}.g2048-arena:focus-visible{outline:2px solid rgba(251,191,36,.45);outline-offset:8px;border-radius:var(--radius-lg)}.g2048-arena__glow{position:absolute;top:-12%;right:-8%;bottom:-12%;left:-8%;border-radius:50%;pointer-events:none;z-index:0;opacity:.4;background:radial-gradient(ellipse 70% 55% at 50% 40%,rgba(251,191,36,.22) 0%,transparent 70%)}.g2048-arena__glow--alt{top:-6%;right:-14%;bottom:-6%;left:-14%;background:radial-gradient(ellipse 60% 50% at 60% 60%,rgba(56,189,248,.14) 0%,transparent 72%)}.g2048-board-wrap{position:relative;z-index:1;overflow:hidden;width:100%;box-sizing:border-box;padding:var(--g2048-board-pad);border-radius:var(--radius-lg);border:1px solid rgba(251,191,36,.35);background:linear-gradient(165deg,rgba(120,53,15,.18) 0%,transparent 42%),#0f172aa6;box-shadow:var(--shadow-sm),0 20px 48px #0000006b,0 0 40px #fbbf240f}.g2048-board-wrap__corner{position:absolute;width:1rem;height:1rem;border-color:#fbbf24b3;border-style:solid;pointer-events:none;z-index:3}.g2048-board-wrap__corner[data-pos=tl]{top:.5rem;left:.5rem;border-width:2px 0 0 2px}.g2048-board-wrap__corner[data-pos=tr]{top:.5rem;right:.5rem;border-width:2px 2px 0 0}.g2048-board-wrap__corner[data-pos=bl]{bottom:.5rem;left:.5rem;border-width:0 0 0 2px;border-bottom-width:2px}.g2048-board-wrap__corner[data-pos=br]{bottom:.5rem;right:.5rem;border-width:0 2px 2px 0}.g2048-board{position:relative;padding:var(--g2048-gap);border-radius:calc(var(--radius-md) + 2px);background:#09090bd9;box-shadow:inset 0 0 0 1px #94a3b81a,inset 0 16px 40px #00000059;touch-action:none;-webkit-user-select:none;user-select:none}.g2048-grid-bg{display:grid;grid-template-columns:repeat(4,var(--g2048-cell));grid-template-rows:repeat(4,var(--g2048-cell));gap:var(--g2048-gap)}.g2048-cell{border-radius:var(--radius-sm);background:#1e293b8c;box-shadow:inset 0 1px #ffffff0a}.g2048-tiles{position:absolute;inset:var(--g2048-gap);pointer-events:none}.g2048-tile{position:absolute;top:0;left:0;width:var(--g2048-cell);height:var(--g2048-cell);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;line-height:1;will-change:transform;box-shadow:0 2px #00000040,inset 0 1px #ffffff2e}.g2048-tile__inner{position:relative;z-index:1}.g2048-tile--flash{animation:g2048-flash .32s ease-out}@keyframes g2048-flash{0%{filter:brightness(1.6)}to{filter:brightness(1)}}.g2048-tile--2{background:linear-gradient(145deg,#334155,#1e293b);color:#e2e8f0;font-size:clamp(1.1rem,4vw,1.45rem)}.g2048-tile--4{background:linear-gradient(145deg,#475569,#334155);color:#f1f5f9;font-size:clamp(1.1rem,4vw,1.45rem)}.g2048-tile--8{background:linear-gradient(145deg,#ea580c,#c2410c);color:#fff7ed;font-size:clamp(1.05rem,3.8vw,1.4rem)}.g2048-tile--16{background:linear-gradient(145deg,#f97316,#ea580c);color:#fff;font-size:clamp(1rem,3.6vw,1.35rem)}.g2048-tile--32{background:linear-gradient(145deg,#ef4444,#dc2626);color:#fff}.g2048-tile--64{background:linear-gradient(145deg,#f43f5e,#e11d48);color:#fff}.g2048-tile--128{background:linear-gradient(145deg,#c084fc,#9333ea);color:#fff;font-size:clamp(.95rem,3.2vw,1.2rem);box-shadow:0 2px #0000004d,0 0 20px #c084fc59,inset 0 1px #ffffff38}.g2048-tile--256{background:linear-gradient(145deg,#818cf8,#4f46e5);color:#fff;font-size:clamp(.9rem,3vw,1.15rem);box-shadow:0 2px #0000004d,0 0 22px #818cf859,inset 0 1px #ffffff38}.g2048-tile--512{background:linear-gradient(145deg,#38bdf8,#0284c7);color:#fff;font-size:clamp(.85rem,2.8vw,1.1rem);box-shadow:0 2px #0000004d,0 0 24px #38bdf866,inset 0 1px #ffffff40}.g2048-tile--1024{background:linear-gradient(145deg,#2dd4bf,#0d9488);color:#042f2e;font-size:clamp(.78rem,2.5vw,1rem);box-shadow:0 2px #00000047,0 0 26px #2dd4bf59,inset 0 1px #ffffff4d}.g2048-tile--2048{background:linear-gradient(145deg,#fde047,#f59e0b 45%,#d97706);color:#422006;font-size:clamp(.72rem,2.3vw,.95rem);box-shadow:0 3px #00000052,0 0 32px #fbbf248c,inset 0 1px #ffffff73}.g2048-tile--super{background:linear-gradient(145deg,#f0abfc,#e879f9 40%,#c026d3);color:#fff;font-size:clamp(.65rem,2.1vw,.88rem);box-shadow:0 3px #00000059,0 0 36px #e879f980,inset 0 1px #ffffff59}.g2048-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;display:flex;align-items:center;justify-content:center;padding:.85rem;border-radius:inherit;background:#09090bc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.g2048-overlay[hidden]{display:none!important}.g2048-overlay__card{display:flex;flex-direction:column;align-items:stretch;gap:1rem;width:min(100%,14.5rem);margin:0 auto;padding:1.35rem 1.25rem 1.2rem;border-radius:var(--radius-md);border:1px solid rgba(251,191,36,.35);background:#0f172af0;box-shadow:0 16px 40px #00000073;text-align:center}.g2048-overlay__message{display:block}.g2048-overlay__title{display:block;margin:0 0 .4rem;font-size:1.28rem;font-weight:700;line-height:1.25;letter-spacing:-.02em;color:#fde68a;text-wrap:balance}.g2048-overlay__sub{display:block;margin:0;font-size:.84rem;line-height:1.45;letter-spacing:normal;color:var(--muted-soft);text-wrap:balance}.g2048-overlay__actions{display:flex;flex-direction:column;gap:.5rem;width:100%}.g2048-overlay__actions .btn{display:flex;align-items:center;justify-content:center;width:100%;margin:0;box-sizing:border-box}.g2048-overlay__actions .btn[hidden]{display:none!important}.g2048-sidebar{display:flex;flex-direction:column;gap:.65rem;width:min(100%,var(--g2048-board-size));max-width:100%;box-sizing:border-box}@media(min-width:900px){.g2048-sidebar{position:sticky;top:1rem;width:14.5rem;max-width:none}}.g2048-stat{display:flex;flex-direction:column;gap:.12rem;padding:.6rem .75rem;border-radius:var(--radius-md);border:1px solid rgba(71,85,105,.45);background:#0f172a8c}.g2048-stat--best .g2048-stat__value{color:#fde68a}.g2048-stat__label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-soft)}.g2048-stat__value{font-family:var(--font-mono);font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;color:#e0f2fe}.g2048-new-btn{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;margin:0}.g2048-hint{margin:0;padding:.65rem .75rem}.g2048-hint__title{margin:0 0 .4rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted-soft)}.g2048-hint__list{margin:0;padding:0;list-style:none;font-size:.78rem;color:var(--text-dim);line-height:1.55}.g2048-hint__list kbd{display:inline-block;min-width:1.35rem;padding:.1rem .35rem;border-radius:.25rem;border:1px solid rgba(148,163,184,.35);background:#1e293ba6;font-family:var(--font-mono);font-size:.72rem;text-align:center}@media(prefers-reduced-motion:reduce){.g2048-tile--flash{animation:none}}
