:root{color-scheme:light;--bg: #f7f4ee;--bg-elev: #fffdf9;--bg-sunken: #efeae1;--bg-hover: #f3eee5;--border: #e6dfd2;--border-strong: #d4cab8;--text: #1d1b18;--text-muted: #5b554c;--text-subtle: #8a8275;--primary: #e04a3a;--primary-strong: #c23a2b;--primary-soft: #fde9e5;--on-primary: #ffffff;--accent: #2d4f8e;--accent-strong: #213c6e;--accent-soft: #e6ecf7;--on-accent: #ffffff;--gold: #d99a26;--gold-soft: #fbf0d9;--success: #2f8f5b;--success-soft: #e2f3e9;--danger: #c9372c;--danger-soft: #fbe5e2;--cat-1: #e04a3a;--cat-2: #2d4f8e;--cat-3: #d99a26;--cat-4: #2f8f5b;--cat-5: #8a4fb8;--cat-6: #1f8fa3;--cat-7: #d4628f;--cat-8: #6b7a3a;--shadow-sm: 0 1px 2px rgba(48, 36, 20, .06), 0 1px 3px rgba(48, 36, 20, .05);--shadow-md: 0 4px 12px rgba(48, 36, 20, .07), 0 1px 3px rgba(48, 36, 20, .05);--shadow-lg: 0 18px 40px rgba(48, 36, 20, .12), 0 4px 10px rgba(48, 36, 20, .06);--ring: 0 0 0 3px rgba(224, 74, 58, .28);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--font-body: "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Sans", "Segoe UI", system-ui, sans-serif;--font-display: "Dela Gothic One", "Zen Kaku Gothic New", system-ui, sans-serif;--font-num: "Space Grotesk", "Zen Kaku Gothic New", system-ui, sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}:root[data-theme=dark]{color-scheme:dark;--bg: #141311;--bg-elev: #1d1b18;--bg-sunken: #100f0d;--bg-hover: #26231f;--border: #2f2b26;--border-strong: #423c34;--text: #f2eee7;--text-muted: #bcb4a7;--text-subtle: #8d8578;--primary: #f0604f;--primary-strong: #ff7a6a;--primary-soft: #3a1e1a;--on-primary: #ffffff;--accent: #7f9fe0;--accent-strong: #a3bcef;--accent-soft: #1d2638;--on-accent: #0f1626;--gold: #f0b54a;--gold-soft: #33280f;--success: #5cc28a;--success-soft: #15291e;--danger: #f0675c;--danger-soft: #3a1b18;--cat-1: #f0604f;--cat-2: #6f8fd6;--cat-3: #f0b54a;--cat-4: #4fb57f;--cat-5: #a979d1;--cat-6: #3fb1c4;--cat-7: #e07fa6;--cat-8: #9aab5e;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .35);--shadow-lg: 0 18px 44px rgba(0, 0, 0, .5);--ring: 0 0 0 3px rgba(240, 96, 79, .4)}@media print{:root[data-theme=dark]{color-scheme:light;--bg: #ffffff;--bg-elev: #ffffff;--bg-sunken: #f5f2ec;--bg-hover: #f3eee5;--border: #d8d0c2;--border-strong: #b9ae9c;--text: #1d1b18;--text-muted: #5b554c;--text-subtle: #8a8275;--primary: #e04a3a;--primary-strong: #c23a2b;--primary-soft: #fde9e5;--accent: #2d4f8e;--accent-strong: #213c6e;--accent-soft: #e6ecf7;--on-accent: #ffffff;--gold: #d99a26;--gold-soft: #fbf0d9;--success: #2f8f5b;--success-soft: #e2f3e9;--danger: #c9372c;--danger-soft: #fbe5e2;--cat-1: #e04a3a;--cat-2: #2d4f8e;--cat-3: #d99a26;--cat-4: #2f8f5b;--cat-5: #8a4fb8;--cat-6: #1f8fa3;--cat-7: #d4628f;--cat-8: #6b7a3a}body{background:#fff}}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:var(--font-body);background-color:var(--bg);background-image:radial-gradient(var(--border) .8px,transparent .8px);background-size:22px 22px;color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}[dir=rtl]{text-align:right;direction:rtl}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}::selection{background:var(--primary-soft)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-shell{max-width:1200px;margin:0 auto;padding:24px 20px 80px}.tool-layout{margin-top:16px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px;align-items:start}@media(max-width:860px){.tool-layout{grid-template-columns:minmax(0,1fr)}}.surface,.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.card{padding:20px}.stage{position:relative;border-radius:var(--radius-md);background:var(--bg-sunken);border:1px solid var(--border);min-height:240px;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--bg-sunken);border:1px solid var(--border);font-size:13px;font-weight:700;color:var(--text-muted)}.pill.subtle{background:var(--bg-sunken)}.hint{color:var(--text-subtle);font-size:12px;font-weight:700}.glow{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;min-height:42px;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text);font-weight:700;font-size:14px;line-height:1.2;cursor:pointer;white-space:nowrap;transition:transform .12s ease,background-color .12s ease,border-color .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent}.btn:hover:not(:disabled){background:var(--bg-hover)}.btn:active:not(:disabled){transform:translateY(1px) scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);box-shadow:0 6px 16px -6px var(--primary),inset 0 -2px #00000024}.btn-primary:hover:not(:disabled){background:var(--primary-strong);border-color:var(--primary-strong)}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-accent:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.btn-lg{min-height:54px;padding:14px 26px;font-size:17px;border-radius:var(--radius-lg)}.btn-sm{min-height:34px;padding:6px 12px;font-size:13px;border-radius:var(--radius-sm)}.btn-icon{padding:0;width:42px;min-width:42px}.btn-block{width:100%}.label{display:block;font-size:13px;font-weight:700;color:var(--text-muted);margin-bottom:6px}.field{width:100%;padding:10px 12px;min-height:42px;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text);font-size:15px;transition:border-color .12s ease,box-shadow .12s ease}textarea.field{resize:vertical;min-height:140px;line-height:1.6}.field:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.field::placeholder{color:var(--text-subtle)}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.result-big{font-family:var(--font-display);font-size:clamp(32px,7vw,64px);line-height:1.15;color:var(--text);text-align:center;word-break:break-word}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.kbd{display:inline-block;padding:1px 6px;border-radius:5px;border:1px solid var(--border-strong);border-bottom-width:2px;background:var(--bg-elev);font-family:var(--font-num);font-size:11px;font-weight:600;color:var(--text-muted)}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--bg-sunken);border:1px solid var(--border);font-size:13px;font-weight:700}.error-text{color:var(--danger);font-size:13px;font-weight:700;margin:8px 0 0}.fs-target:fullscreen{background:var(--bg);padding:4vmin;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:auto}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pop-in{animation:pop-in .42s var(--ease-spring) both}.fade-up{animation:fade-up .3s var(--ease-out) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
