@charset "UTF-8";/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}:root{--bg: #ffffff;--panel: #f3f4f6;--muted: #6b7280;--text: #111827;--brand: #2563eb;--brand-strong: #1d4ed8;--card: #ffffff;--card-border: #e5e7eb}html,body{background:var(--bg);color:var(--text)}body{font-size:4.4444444444444444vw}body>.wrapper{display:grid;grid-template-areas:"content" "footer";grid-template-rows:1fr auto;min-height:100dvh}body>.wrapper>*{width:100%}body>.wrapper>.container{grid-area:content}body>.wrapper>footer{grid-area:footer}button{font-size:1em}*,*:before,*:after{box-sizing:border-box}body>.wrapper>.container{margin:0 auto;font-size:clamp(.75em,.9em,1em)}@media (min-width: 640px){body>.wrapper>.container{font-size:.7em}}body>.wrapper>.container{padding:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}body>.wrapper>.container ul{font-size:.85em}footer{background:var(--panel);border-top:1px solid var(--card-border);margin-top:4rem;padding:2rem 0}.footer-content{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.footer-section p{margin:0;color:var(--muted);font-size:.9rem}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}.footer-nav a{color:var(--muted);text-decoration:none;font-size:.9rem;transition:color .2s ease}.footer-nav a:hover{color:var(--brand)}@media (min-width: 720px){.footer-content{flex-direction:row;justify-content:space-between;align-items:center}.footer-nav{gap:2rem}}@media screen and (min-width: 720px){body{font-size:3.333333333333333333vw}body>.wrapper>footer{font-size:.6em}}@media screen and (min-width: 1024px){body{font-size:16px;--max-width: 1000px}body>.wrapper>.container{font-size:1.25em}body>.wrapper>footer{font-size:.9em}body>.wrapper>footer>*{margin:0 auto}}[data-menu-theme=blue]{--menu-accent: #2563eb;--menu-accent-rgb: 37, 99, 235}[data-menu-theme=dark]{--menu-accent: #1f2937;--menu-accent-rgb: 31, 41, 55}[data-menu-theme=emerald]{--menu-accent: #059669;--menu-accent-rgb: 5, 150, 105}[data-menu-theme=violet]{--menu-accent: #7c3aed;--menu-accent-rgb: 124, 58, 237}[data-menu-theme=rose]{--menu-accent: #e11d48;--menu-accent-rgb: 225, 29, 72}[data-menu-theme=amber]{--menu-accent: #d97706;--menu-accent-rgb: 217, 119, 6}[data-submodule]>.wrapper>footer{display:none}[data-submodule]>.wrapper{grid-template-areas:"content";grid-template-rows:1fr}[data-submodule]>.wrapper>.container{max-width:none;padding:0;margin:0}body:not([data-submodule])>.wrapper>.container{padding-top:3.5rem}.corner-menu-trigger{position:fixed;top:-1.75rem;right:-1.75rem;width:4.5rem;height:4.5rem;background:var(--menu-accent, #2563eb);color:#fff;border-radius:50%;z-index:200;border:none;cursor:pointer;display:flex;align-items:flex-end;justify-content:flex-start;padding:.85rem;box-shadow:0 4px 20px rgba(var(--menu-accent-rgb, 37, 99, 235),.35);transition:transform .4s ease-out,box-shadow .4s ease-out}.corner-menu-trigger:hover{transform:translate(-.35rem,.35rem) scale(1.08);box-shadow:0 6px 28px rgba(var(--menu-accent-rgb, 37, 99, 235),.45)}.corner-menu-trigger:active{transform:translate(-.35rem,.35rem) scale(.95)}.corner-menu-trigger svg{width:1.4rem;height:1.4rem;flex-shrink:0}[data-menu-size=mini] .corner-menu-trigger{top:-1.25rem;right:-1.25rem;width:3.5rem;height:3.5rem;padding:.65rem}[data-menu-size=mini] .corner-menu-trigger svg{width:1.1rem;height:1.1rem}[data-menu-size=mini] .corner-menu-trigger:hover{transform:translate(-.25rem,.25rem) scale(1.08)}[data-menu-size=mini] .corner-menu-trigger:active{transform:translate(-.25rem,.25rem) scale(.95)}[data-menu-size=micro] .corner-menu-trigger{top:-.875rem;right:-.875rem;width:2.75rem;height:2.75rem;padding:.5rem}[data-menu-size=micro] .corner-menu-trigger svg{width:.9rem;height:.9rem}[data-menu-size=micro] .corner-menu-trigger:hover{transform:translate(-.2rem,.2rem) scale(1.08)}[data-menu-size=micro] .corner-menu-trigger:active{transform:translate(-.2rem,.2rem) scale(.95)}[data-menu-position=left] .corner-menu-trigger{right:auto;left:-1.75rem;justify-content:flex-end}[data-menu-position=left] .corner-menu-trigger:hover{transform:translate(.35rem,.35rem) scale(1.08)}[data-menu-position=left] .corner-menu-trigger:active{transform:translate(.35rem,.35rem) scale(.95)}[data-menu-position=left][data-menu-size=mini] .corner-menu-trigger{left:-1.25rem}[data-menu-position=left][data-menu-size=mini] .corner-menu-trigger:hover{transform:translate(.25rem,.25rem) scale(1.08)}[data-menu-position=left][data-menu-size=mini] .corner-menu-trigger:active{transform:translate(.25rem,.25rem) scale(.95)}[data-menu-position=left][data-menu-size=micro] .corner-menu-trigger{left:-.875rem}[data-menu-position=left][data-menu-size=micro] .corner-menu-trigger:hover{transform:translate(.2rem,.2rem) scale(1.08)}[data-menu-position=left][data-menu-size=micro] .corner-menu-trigger:active{transform:translate(.2rem,.2rem) scale(.95)}.menu-drawer-overlay{position:fixed;inset:0;z-index:300;visibility:hidden;transition:visibility 0s .5s}.menu-drawer-overlay.open{visibility:visible;transition:visibility 0s 0s}.menu-drawer-backdrop{position:absolute;inset:0;background:#00000026;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;transition:opacity .4s ease}.menu-drawer-overlay.open .menu-drawer-backdrop{opacity:1}.menu-drawer-panel{position:absolute;top:0;bottom:0;right:0;width:18rem;max-width:85vw;background:#fff;box-shadow:0 25px 50px -12px #00000040;transform:translate(100%);transition:transform .4s ease-in-out;display:flex;flex-direction:column;padding:2rem;border-radius:1.5rem 0 0 1.5rem;overflow-y:auto}.menu-drawer-overlay.open .menu-drawer-panel{transform:translate(0)}[data-menu-position=left] .menu-drawer-panel{right:auto;left:0;transform:translate(-100%);border-radius:0 1.5rem 1.5rem 0}[data-menu-position=left] .menu-drawer-overlay.open .menu-drawer-panel{transform:translate(0)}.menu-drawer-close{width:2.5rem;height:2.5rem;background:var(--menu-accent, #2563eb);color:#fff;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(var(--menu-accent-rgb, 37, 99, 235),.3);margin-bottom:2rem;transition:transform .2s ease;flex-shrink:0}.menu-drawer-close:hover{transform:scale(1.1)}.menu-drawer-close:active{transform:scale(.95)}.menu-drawer-close svg{width:1.1rem;height:1.1rem}.menu-drawer-nav{flex:1;overflow-y:auto;padding-right:.5rem;padding-bottom:1em}.drawer-home-link{display:block;font-size:1.1rem;font-weight:700;color:var(--text, #111827);text-decoration:none;padding:.75rem 1rem;border-radius:.75rem;margin-bottom:1rem;transition:background .2s,color .2s}.drawer-home-link:hover{background:rgba(var(--menu-accent-rgb, 37, 99, 235),.06);color:var(--menu-accent, #2563eb)}.drawer-category{margin-bottom:1.25rem}.drawer-category-title{display:block;font-size:.75rem;font-weight:600;color:var(--muted, #6b7280);text-transform:uppercase;letter-spacing:.06em;padding:0 1rem;margin-bottom:.4rem}.drawer-category ul{list-style:none;margin:0;padding:0}.drawer-category ul li a{display:block;font-size:.95rem;font-weight:500;color:#374151;text-decoration:none;padding:.5rem 1rem .5rem 1.5rem;border-radius:.625rem;transition:background .2s,color .2s}.drawer-category ul li a:hover{background:rgba(var(--menu-accent-rgb, 37, 99, 235),.06);color:var(--menu-accent, #2563eb)}.drawer-category ul li a[aria-current=page]{background:rgba(var(--menu-accent-rgb, 37, 99, 235),.08);color:var(--menu-accent, #2563eb);font-weight:600}.drawer-divider{height:1px;background:#e5e7eb;margin:1rem 0}.drawer-single-link{display:block;font-size:.95rem;font-weight:600;color:#374151;text-decoration:none;padding:.5rem 1rem;border-radius:.625rem;transition:background .2s,color .2s}.drawer-single-link:hover{background:rgba(var(--menu-accent-rgb, 37, 99, 235),.06);color:var(--menu-accent, #2563eb)}.menu-drawer-footer{margin-top:auto;padding-top:1.25rem;border-top:1px solid #e5e7eb;flex-shrink:0}.menu-drawer-footer .drawer-lang-select{width:100%;padding:.5rem .75rem;font-size:.85rem;border:1px solid #d1d5db;border-radius:.5rem;background:#f9fafb;color:var(--text, #111827);cursor:pointer;appearance:auto}.menu-drawer-brand{margin-top:.75rem;font-size:1.1rem;font-weight:800;color:var(--menu-accent, #2563eb);letter-spacing:-.03em}.menu-drawer-brand small{display:block;font-size:.6rem;font-weight:700;color:var(--muted, #6b7280);letter-spacing:.15em;text-transform:uppercase;margin-top:.2rem}[data-submodule=relative-name-helper]{.ads-side-float{display:none}}[data-submodule=chromatic-tuner]{#chromatic-tuner-wrapper{min-height:100%}#chromatic-tuner-wrapper footer{background:none;border:none;padding:0}}[data-submodule=chromatic-tuner]:has(#chromatic-tuner-wrapper.theme-dark),[data-submodule=metronome]:has(#metronome-wrapper.theme-dark){--menu-accent: #ffffff;--menu-accent-rgb: 255, 255, 255}[data-submodule=chromatic-tuner]:has(#chromatic-tuner-wrapper.theme-green),[data-submodule=metronome]:has(#metronome-wrapper.theme-green){--menu-accent: #13ec13;--menu-accent-rgb: 19, 236, 19}[data-submodule=chromatic-tuner]:has(#chromatic-tuner-wrapper.theme-white),[data-submodule=metronome]:has(#metronome-wrapper.theme-white){--menu-accent: #1d1d1f;--menu-accent-rgb: 29, 29, 31}[data-submodule=chromatic-tuner]:has(#chromatic-tuner-wrapper.theme-white-blue),[data-submodule=metronome]:has(#metronome-wrapper.theme-white-blue){--menu-accent: #007aff;--menu-accent-rgb: 0, 122, 255}[data-submodule=chromatic-tuner]:has(#chromatic-tuner-wrapper.theme-gold),[data-submodule=metronome]:has(#metronome-wrapper.theme-gold){--menu-accent: #ffd700;--menu-accent-rgb: 255, 215, 0}[data-submodule=chromatic-tuner]:has(#chromatic-tuner-wrapper.theme-purple),[data-submodule=metronome]:has(#metronome-wrapper.theme-purple){--menu-accent: #d400ff;--menu-accent-rgb: 212, 0, 255}[data-submodule=metronome]:has(#metronome-wrapper.theme-ember){--menu-accent: #FF8C42;--menu-accent-rgb: 255, 140, 66}[data-submodule=sudoku-solver]{background-color:#0c0c0c;color:#fff}[data-submodule=korean-dictionary]{--menu-accent: hsl(var(--accent-hue, 220) var(--accent-sat, 70%) var(--accent-lit, 50%));.corner-menu-trigger{box-shadow:0 4px 20px color-mix(in srgb,var(--menu-accent) 35%,transparent)}.corner-menu-trigger:hover{box-shadow:0 6px 28px color-mix(in srgb,var(--menu-accent) 45%,transparent)}.menu-drawer-close{box-shadow:0 2px 8px color-mix(in srgb,var(--menu-accent) 30%,transparent)}.drawer-home-link:hover,.drawer-category ul li a:hover{background:color-mix(in srgb,var(--menu-accent) 6%,transparent)}.drawer-category ul li a[aria-current=page]{background:color-mix(in srgb,var(--menu-accent) 8%,transparent)}.drawer-single-link:hover{background:color-mix(in srgb,var(--menu-accent) 6%,transparent)}}[data-submodule=periodic-table]{.ads-side-float{display:none}.container{overflow:auto}}.main-page-wrap{max-width:80rem;margin:0 auto;padding:3rem 1.5rem 0}.main-hero{max-width:42rem;margin-bottom:3rem;animation:fadeSlideUp .6s ease-out both}.main-hero h1{font-size:clamp(2.5rem,6vw,3.75rem);font-weight:800;letter-spacing:-.025em;line-height:1.1;margin:0 0 1.25rem;color:var(--text, #111827)}.main-hero p{font-size:1.15rem;color:#6b7280;line-height:1.6;margin:0}.app-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem}@media (min-width: 540px){.app-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 960px){.app-grid{grid-template-columns:repeat(12,1fr)}.app-grid>:nth-child(1){grid-column:span 7}.app-grid>:nth-child(2){grid-column:span 5}.app-grid>:nth-child(n+3){grid-column:span 3}}.app-grid>:nth-child(1){animation:fadeScaleUp .5s ease-out both}.app-grid>:nth-child(2){animation:fadeScaleUp .5s ease-out .1s both}.app-grid>:nth-child(3){animation:fadeSlideUp .5s ease-out .2s both}.app-grid>:nth-child(4){animation:fadeSlideUp .5s ease-out .25s both}.app-grid>:nth-child(5){animation:fadeSlideUp .5s ease-out .3s both}.app-grid>:nth-child(6){animation:fadeSlideUp .5s ease-out .35s both}.app-grid>:nth-child(7){animation:fadeSlideUp .5s ease-out .4s both}.app-grid>:nth-child(8){animation:fadeSlideUp .5s ease-out .45s both}.app-grid>:nth-child(9){animation:fadeSlideUp .5s ease-out .5s both}.app-card{display:block;padding:2rem;border-radius:1.5rem;background:#fff;border:1px solid #f3f4f6;text-decoration:none;color:var(--text, #111827);transition:box-shadow .3s ease,transform .3s ease}.app-card:hover{box-shadow:0 12px 32px #00000014;transform:translateY(-2px)}.app-card-icon{width:3rem;height:3rem;border-radius:.75rem;background:#f9fafb;display:flex;align-items:center;justify-content:center;color:#2563eb;margin-bottom:1.25rem;transition:transform .2s}.app-card:hover .app-card-icon{transform:scale(1.1)}.app-card-icon svg{width:1.5rem;height:1.5rem}.app-card h2{font-size:1.05rem;font-weight:700;margin:0 0 .5rem}.app-card p{font-size:.85rem;color:#6b7280;line-height:1.55;margin:0}.app-grid>:nth-child(1),.app-grid>:nth-child(2){position:relative;min-height:24rem;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border:none}.app-grid>:nth-child(1):hover,.app-grid>:nth-child(2):hover{transform:scale(1.01);box-shadow:0 20px 50px #2563eb1a}@media (min-width: 640px){.app-grid>:nth-child(1),.app-grid>:nth-child(2){padding:2.5rem}}.app-grid>:nth-child(1){background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff}.app-grid>:nth-child(1) .app-card-icon{width:3.5rem;height:3.5rem;border-radius:1rem;background:#fff3;color:#fff}.app-grid>:nth-child(1) .app-card-icon svg{width:2rem;height:2rem}.app-grid>:nth-child(1) p{opacity:.9;color:inherit}.app-grid>:nth-child(1) .featured-deco{opacity:.12;color:#fff}.app-grid>:nth-child(1) .featured-badge{background:#fff3;color:#fff}.app-grid>:nth-child(1) .featured-launch{background:#fff;color:#2563eb}.app-grid>:nth-child(1) .featured-launch:hover{background:#eff6ff}.app-grid>:nth-child(2){background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#111827}.app-grid>:nth-child(2) .app-card-icon{width:3.5rem;height:3.5rem;border-radius:1rem;background:#e5e7eb;color:#111827}.app-grid>:nth-child(2) .app-card-icon svg{width:2rem;height:2rem}.app-grid>:nth-child(2) p{color:#6b7280}.app-grid>:nth-child(2) .featured-deco{opacity:.08;color:#111827}.app-grid>:nth-child(2) .featured-badge{background:#e5e7eb;color:#6b7280}.app-grid>:nth-child(2) .featured-launch{background:#2563eb;color:#fff}.app-grid>:nth-child(2) .featured-launch:hover{background:#1d4ed8}.featured-deco,.featured-badge,.featured-launch,.featured-card-top,.featured-card-bottom{display:none}.app-grid>:nth-child(1) .featured-deco,.app-grid>:nth-child(1) .featured-badge,.app-grid>:nth-child(1) .featured-launch,.app-grid>:nth-child(1) .featured-card-top,.app-grid>:nth-child(1) .featured-card-bottom,.app-grid>:nth-child(2) .featured-deco,.app-grid>:nth-child(2) .featured-badge,.app-grid>:nth-child(2) .featured-launch,.app-grid>:nth-child(2) .featured-card-top,.app-grid>:nth-child(2) .featured-card-bottom{display:flex}.app-grid>:nth-child(1) .featured-deco,.app-grid>:nth-child(2) .featured-deco{display:block}.app-grid>:nth-child(1)>.app-card-icon,.app-grid>:nth-child(1)>h2,.app-grid>:nth-child(1)>p,.app-grid>:nth-child(2)>.app-card-icon,.app-grid>:nth-child(2)>h2,.app-grid>:nth-child(2)>p{display:none}.featured-deco{position:absolute;right:1em;top:3em;width:10rem;height:10rem;z-index:0;pointer-events:none;transition:transform .5s ease}.app-card:hover .featured-deco{transform:scale(1.08) rotate(6deg)}.featured-deco svg{width:100%;height:100%}.featured-card-top{justify-content:space-between;align-items:flex-start;position:relative;z-index:1}.featured-badge{font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .75rem;border-radius:9999px}.featured-card-bottom{flex-direction:column;position:relative;z-index:1}.featured-card-bottom h2{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .75rem}.featured-card-bottom p{font-size:1.05rem;margin:0 0 1.5rem;max-width:24rem;line-height:1.5}.featured-launch{align-items:center;gap:.5rem;padding:.7rem 1.5rem;border-radius:9999px;font-weight:700;font-size:.9rem;text-decoration:none;transition:background .2s,transform .2s;border:none;cursor:pointer;width:fit-content}.featured-launch svg{width:1rem;height:1rem}body:not([data-submodule])>.wrapper>footer{background:transparent;border-top:1px solid #f3f4f6;margin-top:0;padding:2.5rem 0}body:not([data-submodule]) .footer-content{max-width:80rem}body:not([data-submodule]) .footer-section p{font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9ca3af}body:not([data-submodule]) .footer-nav a{font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9ca3af}body:not([data-submodule]) .footer-nav a:hover{color:#2563eb}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes fadeScaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.ads-side-float{display:none;position:fixed;left:50%;top:50%;transform:translate(660px,-50%);z-index:100}@media (min-width: 1600px){.ads-side-float{display:block}}
