:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1f5f8;--bg-deep:#dce8f1;--ink:#152331;--muted:#637383;--muted-soft:#8796a4;--primary:#245b87;--primary-strong:#174568;--primary-bright:#367aac;--primary-soft:#245b871a;--cyan:#4d8ea8;--line:#224b6b24;--line-strong:#245b8740;--glass:#fafdffb3;--glass-strong:#fcfeffe6;--field:#ffffffb8;--code-bg:#10202e;--code-ink:#eaf4fa;--shadow:0 24px 80px #1947691f, inset 0 1px 0 #ffffffdb;--shadow-soft:0 10px 34px #19476914, inset 0 1px 0 #ffffffbf;--font-display:"Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;--font-ui:"Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;--font-code:"SFMono-Regular", Consolas, monospace;--ease:cubic-bezier(.22, .9, .3, 1);background:var(--bg);color:var(--ink);font-family:var(--font-ui)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07121d;--bg-deep:#0b2132;--ink:#eaf3f8;--muted:#9bb0bf;--muted-soft:#708695;--primary:#79afd0;--primary-strong:#4385ae;--primary-bright:#63a6d0;--primary-soft:#4991be29;--cyan:#6eb5c9;--line:#9bcce721;--line-strong:#7ab8da3d;--glass:#0b1e2cad;--glass-strong:#0a1c2ae6;--field:#040e177a;--code-bg:#030b12;--code-ink:#eaf4fa;--shadow:0 24px 90px #0000005c, inset 0 1px 0 #ffffff0f;--shadow-soft:0 12px 40px #0000003d, inset 0 1px 0 #ffffff0a}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{background:linear-gradient(180deg, color-mix(in srgb, var(--bg), transparent 1%), var(--bg));color:var(--ink);min-width:320px;min-height:100vh;margin:0;overflow-x:clip}body:before{background-image:radial-gradient(circle at center, color-mix(in srgb, var(--ink), transparent 94%) 0 .5px, transparent .7px);content:"";opacity:.18;pointer-events:none;z-index:-1;background-size:5px 5px;position:fixed;inset:0}.ambient-wash{background:radial-gradient(ellipse 62vw 55vh at -6% 4%, color-mix(in srgb, var(--primary) 21%, transparent), transparent 67%), radial-gradient(ellipse 52vw 60vh at 104% 29%, color-mix(in srgb, var(--cyan) 15%, transparent), transparent 70%), radial-gradient(ellipse 44vw 42vh at 55% 106%, color-mix(in srgb, var(--primary-bright) 10%, transparent), transparent 72%);pointer-events:none;z-index:-2;position:fixed;inset:0}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer}a{color:inherit}::selection{background:var(--primary);color:#fff}.site-shell{max-width:1240px;margin:0 auto;padding:0 38px}.site-header,.site-footer{justify-content:space-between;align-items:center;display:flex}.site-header{height:88px}.brand{align-items:center;gap:9px;font-size:18px;font-weight:600;text-decoration:none;display:inline-flex}.brand-mark{color:var(--primary);font-family:var(--font-display);font-size:29px;font-weight:500;line-height:1}.brand-product{border-left:1px solid var(--line-strong);color:var(--primary);margin-left:2px;padding-left:11px;font-weight:500}.header-meta{color:var(--muted);letter-spacing:.04em;align-items:center;gap:8px;font-size:12px;display:flex}.status-dot{background:var(--primary-bright);box-shadow:0 0 0 4px var(--primary-soft);border-radius:999px;width:7px;height:7px}.intro{text-align:center;max-width:920px;margin:clamp(72px,10vw,132px) auto 56px}.eyebrow{color:var(--primary);letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:600}.intro h1{font-family:var(--font-display);letter-spacing:-.04em;margin:20px 0 24px;font-size:clamp(38px,6vw,76px);font-weight:500;line-height:1.18}.intro h1 em{color:var(--primary);font-style:normal}.intro>p:last-child{color:var(--muted);max-width:680px;margin:0 auto;font-size:clamp(15px,1.5vw,18px);line-height:2}.workspace{-webkit-backdrop-filter:blur(24px)saturate(1.18);backdrop-filter:blur(24px)saturate(1.18);background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:30px;max-width:1040px;margin:0 auto;overflow:hidden}.workspace-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:72px;padding:15px 20px 15px 26px;display:flex}.workspace-topbar>div{align-items:baseline;gap:12px;display:flex}.workspace-kicker{font-size:14px;font-weight:600}.save-state{color:var(--muted-soft);font-size:11px}.primary-actions{align-items:center!important;gap:8px!important;display:flex!important}.new-button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:12px;min-height:40px;padding:0 13px;font-size:12px}.new-button:hover{background:var(--primary-soft);border-color:var(--line-strong);color:var(--primary)}.copy-primary{background:var(--primary);color:#fff;min-height:42px;transition:transform .18s var(--ease), background .18s var(--ease);border:0;border-radius:14px;align-items:center;gap:10px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}.copy-primary:hover{background:var(--primary-strong);transform:translateY(-1px)}.canvas-wrap{flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:44px 32px 30px;display:flex;position:relative}.loading-label{color:var(--muted-soft);font-size:12px;position:absolute;top:18px;left:24px}.editor-toolbar{justify-content:space-between;align-items:center;width:calc(100% - 36px);display:flex;position:absolute;top:14px}.tool-group,.mode-switch{align-items:center;gap:4px;display:flex}.editor-toolbar button{color:var(--muted);background:0 0;border:0;border-radius:9px;min-width:32px;min-height:32px;padding:0 9px;font-size:11px}.editor-toolbar button:hover{background:var(--primary-soft);color:var(--primary)}.mode-switch{background:color-mix(in srgb, var(--field) 72%, transparent);border:1px solid var(--line);border-radius:11px;padding:3px}.mode-switch button[aria-pressed=true]{background:var(--glass-strong);box-shadow:var(--shadow-soft);color:var(--primary)}.math-canvas{--caret-color:var(--primary);--contains-highlight-background-color:var(--primary-soft);--selection-background-color:color-mix(in srgb, var(--primary) 22%, transparent);color:var(--ink);text-align:center;background:0 0;border:0;outline:none;min-width:min(600px,88%);max-width:100%;padding:24px;font-size:clamp(34px,6vw,68px)}.math-canvas-hidden,.math-canvas::part(menu-toggle),.math-canvas::part(virtual-keyboard-toggle){display:none}.latex-source{background:var(--field);border:1px solid var(--line-strong);color:var(--ink);font-family:var(--font-code);resize:vertical;border-radius:15px;outline:none;width:min(760px,94%);min-height:128px;margin:44px 0 0;padding:20px;font-size:14px;line-height:1.65}.latex-source:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.canvas-hint{color:var(--muted-soft);margin:22px 0 0;font-size:11px}.output-panel{background:color-mix(in srgb, var(--field) 74%, transparent);border-top:1px solid var(--line);padding:14px 18px 18px}.output-tabs,.keyboard-tabs{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.output-tabs button,.keyboard-tabs button{color:var(--muted);background:0 0;border:0;border-radius:10px;flex:none;padding:9px 12px;font-size:12px}.output-tabs button[aria-selected=true],.keyboard-tabs button[aria-pressed=true]{background:var(--primary-soft);color:var(--primary);font-weight:600}.ai-actions{flex-wrap:wrap;gap:5px;margin:8px 2px 10px;display:flex}.ai-actions button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;padding:6px 10px;font-size:11px}.ai-actions button[aria-pressed=true]{background:var(--primary-soft);border-color:var(--line-strong);color:var(--primary)}.output-warning{color:var(--primary);margin:10px 4px 0;font-size:11px}.output-value{background:var(--code-bg);color:var(--code-ink);font-family:var(--font-code);white-space:pre-wrap;border-radius:15px;min-height:76px;margin:9px 0 0;padding:17px 18px;font-size:12px;line-height:1.65;overflow:auto}.keyboard{border-top:1px solid var(--line);padding:14px 18px 20px}.keyboard-tabs{margin-bottom:4px}.keyboard-hint{color:var(--muted-soft);margin:4px 3px 12px;font-size:10px}.variant-tray{background:var(--primary-soft);border:1px solid var(--line-strong);border-radius:13px;align-items:center;gap:6px;min-height:50px;margin:0 0 10px;padding:6px 8px;display:flex;overflow-x:auto}.variant-tray>span{color:var(--primary);font-family:var(--font-display);flex:none;padding:0 5px;font-size:16px}.variant-tray button{background:var(--glass-strong);border:1px solid var(--line);color:var(--ink);font-family:var(--font-display);border-radius:9px;flex:none;min-width:42px;min-height:36px;padding:0 10px;font-size:16px}.variant-tray .variant-close{color:var(--muted);font-family:var(--font-ui);background:0 0;border-color:#0000;min-width:34px;margin-left:auto}.key-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;display:grid}.math-key{min-width:0;position:relative}.math-key-main{-webkit-touch-callout:none;background:var(--glass-strong);border:1px solid var(--line);box-shadow:var(--shadow-soft);font-family:var(--font-display);touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:12px;width:100%;min-height:48px;font-size:17px;transition:border .15s,transform .15s}.math-key-main:hover{border-color:var(--line-strong);transform:translateY(-1px)}.math-key-main:active{transform:translateY(1px)}.math-key .variant-disclosure{box-shadow:none;color:var(--muted-soft);font-family:var(--font-ui);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:20px;min-width:0;height:18px;min-height:0;padding:0;font-size:11px;display:flex;position:absolute;top:1px;right:3px}.math-key .variant-disclosure:hover,.math-key .variant-disclosure[aria-expanded=true]{background:var(--primary-soft);color:var(--primary)}.principles{max-width:1040px;margin:clamp(110px,15vw,190px) auto 140px}.section-heading{max-width:620px}.section-heading h2{font-family:var(--font-display);letter-spacing:-.03em;margin:16px 0 48px;font-size:clamp(29px,4vw,48px);font-weight:500;line-height:1.35}.principle-grid{grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.principle-grid article{border-left:1px solid var(--line-strong);padding:8px 34px 18px}.principle-grid article:first-child{border-left:0;padding-left:0}.principle-grid span{color:var(--primary);font-family:var(--font-code);font-size:11px}.principle-grid h3{font-family:var(--font-display);margin:18px 0 14px;font-size:21px;font-weight:500}.principle-grid p{color:var(--muted);margin:0;font-size:13px;line-height:1.9}.site-footer{border-top:1px solid var(--line);color:var(--muted);min-height:126px}.site-footer p{letter-spacing:.06em;font-size:11px}.footer-brand{color:var(--ink);font-size:14px}.footer-brand .brand-mark{font-size:23px}@media (max-width:800px){.site-shell{padding:0 20px}.intro{margin-top:64px}.workspace{border-radius:24px}.canvas-wrap{min-height:260px;padding-inline:12px}.math-canvas{min-width:92%;padding-inline:10px}.key-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.principle-grid{grid-template-columns:1fr}.principle-grid article,.principle-grid article:first-child{border-left:0;border-top:1px solid var(--line);padding:24px 0}}@media (max-width:520px){.site-shell{padding:0 12px}.site-header{height:72px;padding:0 6px}.header-meta{display:none}.intro{margin:54px auto 38px;padding:0 8px}.intro h1{letter-spacing:-.06em}.workspace-topbar{min-height:64px;padding:11px 12px 11px 17px}.save-state{display:none}.copy-primary{min-height:40px;padding:0 12px;font-size:12px}.new-button{display:none}.canvas-wrap{min-height:228px;padding-top:34px;padding-bottom:24px}.editor-toolbar{width:calc(100% - 20px);top:9px}.tool-group button:nth-child(-n+2){display:none}.editor-toolbar button{padding:0 7px}.math-canvas{min-width:100%;font-size:36px}.latex-source{width:100%;min-height:150px;margin-top:48px;padding:15px}.canvas-hint{font-size:10px}.output-panel,.keyboard{padding-left:10px;padding-right:10px}.output-tabs button,.keyboard-tabs button{padding-inline:10px}.key-grid{gap:6px}.math-key-main{border-radius:10px;min-height:44px;font-size:16px}.site-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;padding:24px 6px}.site-footer p{margin:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (prefers-reduced-transparency:reduce){.workspace{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--glass-strong)}}
