:root{--bg:#f4f3f0;--bg-2:#eceae4;--surface:#fff;--surface-2:#faf9f6;--surface-3:#eceae4;--ink:#15181d;--ink-2:#565b66;--ink-3:#656a74;--line:#15181d1a;--line-2:#15181d0f;--line-strong:#15181d38;--accent:#2f53c8;--accent-ink:#fff;--accent-deep:#2442a8;--accent-soft:#eef1fb;--accent-line:#c9d3f3;--del-ink:#a3261c;--del-bg:#c8402a1f;--del-line:color-mix(in srgb, #c8402a 40%, var(--line));--add-ink:#17602f;--add-bg:#2f9e6b24;--add-line:color-mix(in srgb, #2f9e6b 40%, var(--line));--ok:#17602f;--radius:14px;--radius-sm:9px;--font:system-ui, -apple-system, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", Meiryo, sans-serif;--display:"IBM Plex Sans JP", system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--shadow-1:0 1px 2px #15181d0d;--shadow-2:0 14px 34px -22px #15181d5c;--ed-pad:14px 15px;--ed-size:13.5px;--ed-lh:1.85}[data-theme=dark]{--bg:#121418;--bg-2:#16191d;--surface:#1a1d22;--surface-2:#20242a;--surface-3:#272b32;--ink:#eceef2;--ink-2:#b3b8c2;--ink-3:#9aa0ab;--line:#eceef221;--line-2:#eceef20f;--line-strong:#eceef23d;--accent:#7f95ec;--accent-ink:#121418;--accent-deep:#6b83e6;--accent-soft:color-mix(in srgb, var(--accent) 22%, transparent);--accent-line:color-mix(in srgb, var(--accent) 56%, var(--line));--del-ink:#ec8e76;--del-bg:#e0603f3d;--del-line:color-mix(in srgb, #e0603f 50%, var(--line));--add-ink:#62c08c;--add-bg:#5cc08838;--add-line:color-mix(in srgb, #5cc088 48%, var(--line));--ok:#5cc088;--shadow-1:0 1px 2px #0006;--shadow-2:0 16px 40px -22px #000000b3}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}html,body{height:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.55;overflow:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit}.app.page-light{color:var(--ink);font-family:var(--font)}html body:has(.page-light){background:var(--bg);color:var(--ink)}html[data-theme=dark] body .site-wrapper{--site-bg:var(--bg);--site-ink:var(--ink);--site-ink-2:var(--ink-2);--site-line:var(--line);--site-mark-bg:var(--surface)}html:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.app{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:12px clamp(14px,2.6vw,26px);display:flex}.brand{align-items:center;gap:11px;min-width:0;display:flex}.brand__mark{background:var(--surface);border:1px solid var(--line);width:40px;height:40px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.brand__mark svg{width:21px;height:21px}.brand__txt{min-width:0}.brand__name{font-family:var(--display);white-space:nowrap;font-size:15.5px;font-weight:600;line-height:1.15}.brand__sub{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px}.badges{align-items:center;gap:8px;margin-left:6px;display:flex}.badge{border:1px solid var(--line);background:var(--surface-2);height:26px;color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:11px;font-weight:600;display:inline-flex}.badge svg{width:13px;height:13px;color:var(--ok)}.badge.badge--lock svg{color:var(--accent)}.actions{align-items:center;gap:7px;display:flex}.iconbtn{border:1px solid var(--line-strong);background:var(--surface);width:40px;height:40px;color:var(--ink-2);cursor:pointer;border-radius:9px;place-items:center;transition:color .16s,border-color .16s,background .16s,transform .12s;display:grid;position:relative}.iconbtn:hover{color:var(--ink);border-color:var(--ink-3)}.iconbtn:active{transform:translateY(1px)}.iconbtn svg{width:19px;height:19px}.iconbtn .tip{font-family:var(--mono);white-space:nowrap;background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;z-index:30;border-radius:6px;padding:4px 8px;font-size:10.5px;transition:opacity .15s;position:absolute;top:46px;left:50%;transform:translate(-50%)}.iconbtn:hover .tip{opacity:.95}.btn{height:40px;color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:600;transition:background .16s,border-color .16s,color .16s,transform .12s;display:inline-flex}.btn svg{width:16px;height:16px}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--primary:hover{background:var(--accent-deep)}.btn--primary:active{transform:translateY(1px)}.subbar{border-bottom:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap;flex:none;align-items:center;gap:12px 14px;padding:10px clamp(14px,2.6vw,26px);display:flex}.ctlgroup{align-items:center;gap:9px;min-width:0;display:inline-flex}.ctlgroup__lab{color:var(--ink-2);white-space:nowrap;align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.ctlgroup__lab svg{width:15px;height:15px;color:var(--ink-3)}.subdiv{background:var(--line);flex:none;width:1px;height:24px}.subspring{flex:18px}.seg{background:var(--surface-3);border:1px solid var(--line);border-radius:10px;align-items:center;padding:3px;display:inline-flex;position:relative}.seg button{height:40px;color:var(--ink-2);cursor:pointer;z-index:1;white-space:nowrap;background:0 0;border:none;border-radius:7px;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:600;transition:color .16s;display:inline-flex;position:relative}.seg button svg{width:15px;height:15px}.seg button.is-on{color:var(--accent)}.seg__thumb{background:var(--surface);box-shadow:var(--shadow-1);border:1px solid var(--accent-line);z-index:0;border-radius:7px;transition:left .22s cubic-bezier(.3,.7,.4,1),width .22s;position:absolute;top:3px;bottom:3px}.pills{flex-wrap:wrap;align-items:center;gap:7px;display:inline-flex}.tpill{border:1px solid var(--line-strong);background:var(--surface);height:40px;color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.tpill .box{border:1.5px solid var(--ink-3);border-radius:4px;flex:none;place-items:center;width:15px;height:15px;transition:border-color .15s,background .15s;display:grid}.tpill .box svg{width:11px;height:11px;color:var(--accent-ink);opacity:0;transition:opacity .12s}.tpill:hover{color:var(--ink);border-color:var(--ink-3)}.tpill.is-on{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.tpill.is-on .box{background:var(--accent);border-color:var(--accent)}.tpill.is-on .box svg{opacity:1}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;min-height:40px;color:var(--ink-2);white-space:nowrap;align-items:center;gap:9px;font-size:12px;font-weight:600;display:inline-flex}.switch__track{background:var(--surface-3);border:1px solid var(--line);border-radius:999px;flex:none;width:38px;height:22px;transition:background .16s,border-color .16s;position:relative}.switch__track i{background:var(--ink-3);border-radius:50%;width:16px;height:16px;transition:transform .16s,background .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.switch.is-on .switch__track{background:var(--accent-soft);border-color:var(--accent-line)}.switch.is-on .switch__track i{background:var(--accent);transform:translate(16px)}.minibtn{border:1px solid var(--line-strong);background:var(--surface);height:40px;color:var(--ink-2);cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s,background .15s,transform .12s;display:inline-flex}.minibtn:hover{color:var(--ink);border-color:var(--ink-3)}.minibtn:active{transform:translateY(1px)}.minibtn svg{width:15px;height:15px}.minibtn--accent{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.minibtn--accent:hover{background:color-mix(in srgb, var(--accent) 16%, transparent)}.main{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(12px,1.8vw,20px);min-height:0;padding:clamp(12px,1.8vw,20px) clamp(14px,2.6vw,26px);display:grid;overflow:hidden}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:0;box-shadow:var(--shadow-1);flex-direction:column;display:flex;position:relative;overflow:hidden}.panel--a{--tone:var(--del-ink);--tone-line:var(--del-line)}.panel--b{--tone:var(--add-ink);--tone-line:var(--add-line)}.panel__head{border-bottom:1px solid var(--line-2);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.panel__title{font-family:var(--display);letter-spacing:.01em;white-space:nowrap;flex:none;align-items:center;gap:9px;font-size:14.5px;font-weight:600;display:flex}.panel__title .tag{background:var(--tone);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--tone) 20%, transparent);border-radius:50%}.panel__title .en{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-size:9.5px;font-weight:500}.head-tools{align-items:center;gap:8px;display:flex}.countpill{font-family:var(--mono);color:var(--ink-3);border:1px solid var(--line);background:var(--surface-2);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:baseline;gap:5px;padding:4px 10px;font-size:11px;display:inline-flex}.countpill b{color:var(--ink);font-size:12px;font-weight:600}.icontiny{border:1px solid var(--line-strong);background:var(--surface);width:40px;height:40px;color:var(--ink-2);cursor:pointer;border-radius:9px;place-items:center;transition:color .15s,border-color .15s;display:grid}.icontiny:hover{color:var(--tone);border-color:var(--tone-line)}.icontiny svg{width:16px;height:16px}.editor{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);flex:1;min-height:0;margin:12px;transition:border-color .15s,box-shadow .15s,background .15s;position:relative;overflow:hidden}.editor.focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.editor.drag{border-color:var(--accent);background:var(--accent-soft);border-style:dashed}.hl,.input{padding:var(--ed-pad);font-family:var(--mono);font-size:var(--ed-size);line-height:var(--ed-lh);font-variant-ligatures:none;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;tab-size:4;border-radius:var(--radius-sm);border:0;margin:0;position:absolute;inset:0;overflow:auto}.hl{z-index:1;color:var(--ink);pointer-events:none;-webkit-user-select:none;user-select:none}.input{z-index:2;resize:none;color:#0000;caret-color:var(--accent);-webkit-text-fill-color:transparent;background:0 0}.input::placeholder{color:var(--ink-3);-webkit-text-fill-color:var(--ink-3)}.input:focus{outline:none}.input::selection{background:color-mix(in srgb, var(--accent) 26%, transparent)}.hl ::selection{background:0 0}.hl::-webkit-scrollbar{width:0;height:0}.hl{scrollbar-width:none}.input::-webkit-scrollbar{width:10px;height:10px}.input::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--ink-3) 45%, transparent);background-clip:content-box;border:3px solid #0000;border-radius:6px}.input::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--ink-3) 70%, transparent);background-clip:content-box}.hl mark.d-del{background:var(--del-bg);color:var(--del-ink);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--del-ink) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--del-ink) 55%, transparent);border-radius:3px;text-decoration-thickness:1.5px}.hl mark.d-ins{background:var(--add-bg);color:var(--add-ink);border-radius:3px;font-weight:700}.hl .ln{min-height:calc(var(--ed-size) * var(--ed-lh));display:block}.hl .ln--del{background:var(--del-bg);color:var(--del-ink);box-shadow:inset 2px 0 0 var(--del-ink)}.hl .ln--ins{background:var(--add-bg);color:var(--add-ink);box-shadow:inset 2px 0 0 var(--add-ink);font-weight:600}.identical{z-index:3;text-align:center;pointer-events:none;background:color-mix(in srgb, var(--surface) 80%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:none;position:absolute;inset:0}.app[data-identical="1"] .identical{display:flex}.identical__ic{border:1px solid var(--add-line);background:var(--surface);width:46px;height:46px;color:var(--add-ink);box-shadow:var(--shadow-1);border-radius:13px;place-items:center;display:grid}.identical__ic svg{width:23px;height:23px}.identical__t{font-family:var(--display);color:var(--ink-2);font-size:13.5px;font-weight:600}.statusbar{border-top:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap;flex:none;align-items:center;gap:10px 14px;padding:9px clamp(14px,2.6vw,26px);display:flex}.foot__brand{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-3);white-space:nowrap;font-size:11.5px}.stats{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.statchip{border:1px solid var(--line);background:var(--surface);font-family:var(--mono);color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:baseline;gap:6px;padding:5px 12px;font-size:11.5px;display:inline-flex}.statchip .lab{letter-spacing:.02em}.statchip b{color:var(--ink);font-size:13px;font-weight:600}.statchip .arrow{color:var(--ink-3);padding:0 1px}.statchip--delta b{color:var(--accent)}.statchip--add{border-color:var(--add-line);color:var(--add-ink);background:color-mix(in srgb, var(--add-bg) 60%, var(--surface))}.statchip--add b{color:var(--add-ink)}.statchip--del{border-color:var(--del-line);color:var(--del-ink);background:color-mix(in srgb, var(--del-bg) 60%, var(--surface))}.statchip--del b{color:var(--del-ink)}.foot__keys{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.kbdhint{white-space:nowrap;color:var(--ink-3);align-items:center;gap:7px;font-size:11.5px;display:inline-flex}kbd{font-family:var(--mono);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-bottom-width:2px;border-radius:6px;padding:2px 7px;font-size:10.5px;font-weight:600}.toast{z-index:80;background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;border-radius:999px;align-items:center;gap:9px;padding:11px 18px;font-size:13px;transition:opacity .24s,transform .24s;display:flex;position:fixed;bottom:64px;left:50%;transform:translate(-50%,16px);box-shadow:0 16px 36px -14px #0000008c}.toast.show{opacity:1;transform:translate(-50%)}.toast svg{width:16px;height:16px;color:var(--ok);flex:none}@media (width<=920px){body{overflow:auto}body:has(.app.page-light),body:has(.app.page-light) .site-wrapper,.tool-main:has(>.app.page-light){height:auto!important;overflow:visible!important}.app{flex:none;min-height:100dvh}.main{flex:none;grid-template-columns:minmax(0,1fr);overflow:visible}.panel__head{flex-wrap:wrap}.panel{overflow:visible}.editor{flex:none;height:300px}.badges{display:none}}@media (width<=620px){.brand__name{white-space:normal;line-height:1.3}.iconbtn,.brand__mark,.icontiny{width:44px;height:44px}.seg button,.tpill,.minibtn,.btn,.switch{height:44px}.seg button{justify-content:center;min-width:44px}.brand__sub,.foot__keys,.seg button span{display:none}.seg button{padding:0 11px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
