:root{color-scheme:light;font-family:"M PLUS Rounded 1c",Hiragino Maru Gothic ProN,Yu Gothic UI,Noto Sans JP,sans-serif;line-height:1.7;font-weight:500;font-size:18px;text-rendering:optimizeLegibility;--ink: #1a1a1a;--muted: #5b5b6a;--accent: #ff6f59;--accent-2: #2ec4b6;--surface: #ffffff;--shadow: rgba(26, 26, 26, .15)}body{background:radial-gradient(circle at top left,#fff6f0,#f7f1ff 55%,#eaf6ff);color:var(--ink);min-height:100vh;-webkit-user-select:none;user-select:none}.page{max-width:1200px;margin:0 auto;padding:56px 28px 80px;display:grid;gap:28px}.tool-page{gap:24px}.tool-header h1{font-size:clamp(2rem,4vw,2.8rem);display:flex;align-items:baseline;gap:10px}.title-version{font-size:.5em;font-weight:700;letter-spacing:.08em;color:#1a1a1a73}.lead{color:var(--muted);font-size:1.02rem}@media(min-width:920px){.tool-layout{grid-template-columns:minmax(260px,320px) 1fr}.tool-layout.tool-layout--single{grid-template-columns:1fr}}.tool-form{display:grid;gap:12px;background:#ffffffe6;padding:16px;border-radius:16px;box-shadow:0 12px 22px #1a1a1a1f;align-content:start}.tool-form--overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(280px,92vw);max-width:92vw;max-height:86vh;overflow:auto}.field-grid{display:grid;gap:10px}.field-inline{display:flex;gap:8px;align-items:center}.field-inline input{flex:1;min-width:0}.field-inline button{border:1px solid rgba(26,26,26,.2);background:#fff;border-radius:12px;padding:8px 10px;font:inherit;color:var(--ink);cursor:pointer;white-space:nowrap}.field-inline button:hover{background:#1a1a1a0d}@media(max-width:420px){.field-inline{flex-direction:column;align-items:stretch}.field-inline button{width:100%}}.tool-form label{display:flex;flex-direction:column;gap:2px;color:var(--muted);font-size:.85rem}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ink)}.tool-form input{padding:8px 10px;border-radius:12px;border:1px solid rgba(26,26,26,.2);font:inherit;color:var(--ink);max-width:170px}.tool-form input.sun-slope-input{width:100px;max-width:100px}.tool-form select{padding:8px 10px;border-radius:12px;border:1px solid rgba(26,26,26,.2);font:inherit;color:var(--ink);background:#fff}.reset-button{margin-top:6px;border:1px solid rgba(26,26,26,.25);background:#fff;border-radius:12px;padding:8px 10px;font:inherit;color:var(--ink);cursor:pointer}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.result-grid strong{font-size:1.05rem}.tool-hint{color:var(--muted);font-size:.95rem}.tool-view-wrap{display:grid;gap:10px}.tool-view{background:#fff;border-radius:18px;padding:0;box-shadow:0 14px 24px #1a1a1a1a;height:min(70vh,640px);min-height:350px;position:relative;container-type:inline-size;overflow:hidden}.empty-hint{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:var(--muted);font-size:.95rem;line-height:1.6;pointer-events:none;z-index:1}.circle-inputs{position:absolute;right:14px;bottom:14px;display:grid;gap:8px;padding:10px 12px;background:#ffffffe6;border-radius:12px;box-shadow:0 10px 18px #1a1a1a1f;border:1px solid rgba(26,26,26,.12);z-index:2;width:fit-content;max-width:none}.circle-inputs label{display:grid;gap:6px;color:var(--muted);font-size:.7rem}.circle-inputs input{padding:4px 6px;border-radius:8px;border:1px solid rgba(26,26,26,.2);font:inherit;color:var(--ink);background:#fff;width:56px;min-width:56px}.circle-inputs .input-row{display:flex;align-items:center;gap:6px}.circle-inputs button{border:1px solid rgba(26,26,26,.2);background:#fff;border-radius:6px;width:24px;height:24px;font-size:11px;line-height:1;cursor:pointer;color:var(--ink);-webkit-user-select:none;user-select:none;touch-action:none;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.circle-inputs input{text-align:center}.circle-inputs button:hover{background:#1a1a1a0d}.circle-inputs button:focus{outline:none}.tool-view svg{width:100%;height:100%;touch-action:none;display:block;--ui-scale: 1}.tool-view svg line,.tool-view svg path,.tool-view svg circle,.tool-view svg rect,.tool-view svg polyline,.tool-view svg polygon{vector-effect:non-scaling-stroke}.tool-view svg text{vector-effect:non-scaling-stroke}.tool-view{-webkit-user-select:none;user-select:none;touch-action:none}.tool-top-bar .top-left-actions{display:flex;gap:8px;pointer-events:auto}.tool-top-bar .top-right-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:auto}.tool-top-bar button,.tool-top-bar .zoom-row{pointer-events:auto}.tool-bottom-bar{position:absolute;left:14px;bottom:14px;z-index:2;display:flex;flex-wrap:wrap;gap:8px;align-items:center;pointer-events:none}.nudge-pad{position:absolute;right:14px;bottom:14px;z-index:2;display:grid;grid-template-columns:46px 46px 46px;grid-template-rows:46px 46px 46px;gap:2px;pointer-events:none}.nudge-pad button{pointer-events:auto;border:1px solid rgba(26,26,26,.35);background:#fff;border-radius:10px;padding:0;font:inherit;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 18px #1a1a1a2e}.nudge-pad button .material-symbols-outlined{font-size:26px}.nudge-pad button:hover{background:#2ec4b626;border-color:#2ec4b699}.nudge-pad button:active{transform:translateY(1px)}.nudge-pad__up{grid-column:2;grid-row:1}.nudge-pad__left{grid-column:1;grid-row:2}.nudge-pad__right{grid-column:3;grid-row:2}.nudge-pad__down{grid-column:2;grid-row:3}.zoom-row{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:520px)and (max-height:760px){.tool-bottom-bar{bottom:14px;max-width:176px;flex-wrap:wrap-reverse;align-content:flex-start;align-items:flex-end}.nudge-pad{right:14px;transform:none;bottom:64px}}@media(orientation:portrait){.nudge-pad{bottom:64px}}.zoom-row button,.top-action,.panel-toggle,.tool-bottom-bar button{border:1px solid rgba(26,26,26,.2);background:#fff;border-radius:10px;padding:6px 10px;font:inherit;color:var(--ink);cursor:pointer;min-width:38px;height:48px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 6px 14px #1a1a1a1f;pointer-events:auto}.tool-bottom-bar button.is-active{background:#2ec4b62e;border-color:#2ec4b68c;color:#0f766e;box-shadow:0 6px 14px #2ec4b640}.tool-bottom-bar button.snap-flash{animation:snap-flash .22s ease-out}.tool-bottom-bar button.snap-hold{background:#ffc70033;border-color:#ffc700cc;color:#7a5d00;box-shadow:0 0 0 6px #ffc70033}.tool-bottom-bar button.lock-flash{animation:lock-flash .22s ease-out}.tool-bottom-bar button.lock-hold{background:#ff626233;border-color:#ff6262d9;color:#7a0f0f;box-shadow:0 0 0 6px #ff62622e}@keyframes lock-flash{0%{transform:translateY(0)}45%{background:#ff626238;border-color:#ff6262e6;color:#7a0f0f;box-shadow:0 0 0 6px #ff626233}to{transform:translateY(0)}}@keyframes snap-flash{0%{transform:translateY(0)}45%{background:#ffc70040;border-color:#ffc700cc;color:#7a5d00;box-shadow:0 0 0 6px #ffc70040}to{transform:translateY(0)}}.zoom-row button.is-active{background:#2ec4b62e;border-color:#2ec4b68c;color:#0f766e;box-shadow:0 6px 14px #2ec4b640}.tool-bottom-bar button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.material-symbols-outlined{font-size:20px;line-height:1}@media(max-width:415px){.icon-label{display:none}}.edge-label,.anchor-label,.area-label{font-size:calc(24px * var(--ui-scale, 1));fill:#1a1a1a;font-weight:600;pointer-events:none}.anchor-label.drag-label{font-size:calc(39px * var(--ui-scale, 1));font-weight:900;fill:#111}.anchor-handle{cursor:pointer}.assist-line{stroke:#2ec4b6}.assist-angle-arc{fill:none;stroke:#2ec4b6;stroke-width:2}.assist-label{fill:#2ec4b6}.circle-radius-line,.circle-guide-line{stroke:#1f6feb}.circle-arc-line{stroke:#ff6f59}.circle-radius-label{fill:#1f6feb}.circle-arc-label{fill:#ff6f59}.circle-angle-label{fill:#8f6fff}.edge-handle{fill:#ff6f59;stroke:#1a1a1a;stroke-width:2;cursor:pointer}.edge-handle.is-selected{fill:#2ec4b6;stroke:#1a1a1a}.align-guide{stroke:#2ec4b6d9;stroke-width:2.4;stroke-dasharray:8 6}.range-guide{stroke:#ff6f59d9;stroke-width:2}.range-label{fill:#ff6f59;font-weight:700;font-size:calc(24px * var(--ui-scale, 1))}.range-label-vertical{text-anchor:start;dominant-baseline:middle}.range-handle{cursor:pointer}.range-handle-box{fill:#fff;stroke:#ff6f59;stroke-width:2}.range-handle-icon{fill:none;stroke:#ff6f59;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.area-label{fill:#ff6f59;font-size:calc(20px * var(--ui-scale, 1))}.outline{stroke:#fff;stroke-width:2px;paint-order:stroke;stroke-linejoin:round}.radial-label{text-anchor:middle;dominant-baseline:middle}.footer-credit a{color:inherit;text-decoration:none}.footer-credit a:hover{color:var(--ink)}.mawari-kaidan-page .tool-layout{grid-template-columns:1fr}.tool-view{background:#fff;border-radius:18px;padding:0;box-shadow:0 14px 24px #1a1a1a1a;height:clamp(360px,calc(100dvh - 250px),920px);min-height:360px;position:relative;container-type:inline-size}@media(max-width:768px){.mawari-kaidan-page .tool-view{height:clamp(340px,calc(100dvh - 210px),760px);min-height:340px}}.mawari-kaidan-page .tool-view svg line,.mawari-kaidan-page .tool-view svg path,.mawari-kaidan-page .tool-view svg circle,.mawari-kaidan-page .tool-view svg rect,.mawari-kaidan-page .tool-view svg polyline,.mawari-kaidan-page .tool-view svg polygon,.mawari-kaidan-page .tool-view svg text{vector-effect:none}.tool-page{max-width:1400px;margin:0 auto;padding:56px 28px 80px;gap:28px}@media(min-width:900px){.page.tool-page{padding-left:28px;padding-right:28px}}.tool-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}@media(min-width:920px){.tool-page .tool-layout{grid-template-columns:minmax(0,1fr)!important}}.tool-form fieldset{border:1px solid rgba(26,26,26,.18);border-radius:12px;padding:10px;display:grid;gap:8px;width:100%;min-width:0}.tool-form legend{padding:0 6px;font-size:.78rem;color:#1a1a1abf}.tool-view{background:#fff;border-radius:18px;padding:0;box-shadow:0 14px 24px #1a1a1a1a;width:100%;height:auto;aspect-ratio:1200 / 700;min-height:460px;position:relative;container-type:inline-size}.tool-top-bar{position:absolute;top:14px;left:14px;right:14px;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}.tool-top-bar .tool-top-bar-left,.tool-top-bar .zoom-row,.tool-top-bar button,.tool-top-bar [role=button]{pointer-events:auto}.tomekiri-top-controls{display:grid;gap:8px;justify-items:end}.tomekiri-angle-control{pointer-events:auto;display:grid;gap:2px;background:#fffffff0;border:1px solid rgba(26,26,26,.18);border-radius:10px;padding:6px 8px;min-width:150px}.tomekiri-angle-control--floating{position:absolute;top:70px;right:14px;z-index:2}.tomekiri-angle-label{font-size:11px;color:#1a1a1ab8;line-height:1;font-weight:700}.tomekiri-angle-input{width:100%;border:1px solid rgba(26,26,26,.2);border-radius:8px;padding:4px 6px;font:inherit;color:#1a1a1a;background:#fff;min-width:0}.tomekiri-angle-stepper{display:grid;grid-template-columns:40px 96px 40px;gap:6px;align-items:center}.tomekiri-step-btn{height:36px;border:1px solid rgba(26,26,26,.2);border-radius:8px;background:#fff;color:#1a1a1a;font-size:1.1rem;font-weight:700;cursor:pointer}:root{color-scheme:light;font-family:Klee One,Hiragino Maru Gothic ProN,Yu Gothic UI,Noto Sans JP,sans-serif;line-height:1.7;font-weight:500;font-synthesis:weight style;text-rendering:optimizeLegibility;--ink: #1a1a1a;--muted: #5b5b6a;--accent: #ff6f59;--accent-2: #2ec4b6;--surface: #ffffff;--shadow: rgba(26, 26, 26, .15)}body{background:radial-gradient(circle at top left,#fff6f0,#f7f1ff 55%,#eaf6ff);color:var(--ink);min-height:100vh}button{font:inherit;border:none;background:none;cursor:pointer}.page{max-width:1400px;margin:0 auto;padding:56px 28px 80px;display:grid;gap:36px}@media(orientation:landscape){.page{padding-left:48px;padding-right:48px}}.badge{display:inline-flex;align-self:start;padding:6px 16px;border-radius:999px;background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}.header h1{font-size:clamp(2.2rem,5vw,3rem)}.lead{color:var(--muted);font-size:1.05rem}.tool-usage{color:var(--muted);font-size:.95rem;line-height:1.6;margin-top:8px;max-width:760px;padding:10px 12px;border:1px solid rgba(26,26,26,.12);border-radius:12px;background:#fff9}.tool-usage-warning{color:#c0392b;font-weight:600}.tool-page{gap:28px}.tool-header{display:grid;gap:10px}.tool-layout{display:grid;grid-template-columns:1fr;gap:24px}.tool-form{display:grid;gap:6px;background:#ffffffe6;padding:12px;border-radius:16px;box-shadow:0 12px 22px #1a1a1a1f;align-content:start;width:100%;max-width:100%;max-height:80vh;overflow:auto;grid-auto-rows:min-content}.tool-settings-layer{position:absolute;inset:0;z-index:3;pointer-events:none}.tool-settings-layer .tool-form,.tool-settings-layer .tool-overlay-mask{pointer-events:auto}.tool-settings-layer .tool-form{z-index:2}.tool-settings-layer .tool-overlay-mask{z-index:1}.tool-form--overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(280px,88%)}.tool-overlay-mask{position:absolute;inset:0;background:#1a1a1a1f;border-radius:18px;pointer-events:auto;cursor:pointer}.tool-form--collapsed{width:auto;padding:0;background:transparent;box-shadow:none;border-radius:0}.panel-toggle{align-self:start;border:1px solid rgba(26,26,26,.2);background:#fff;border-radius:10px;padding:6px 8px;font:inherit;color:var(--ink);min-width:0}.panel-toggle.is-hidden{visibility:hidden;pointer-events:none}.panel-toggle .material-symbols-outlined{font-size:20px;line-height:1;display:block}.tool-form label{display:flex;flex-direction:column;gap:1px;color:var(--muted);font-size:.85rem;width:100%;min-width:0}.field-label{line-height:1.1}.tool-form input{padding:6px 10px;border-radius:12px;border:1px solid rgba(26,26,26,.2);font:inherit;color:var(--ink);width:100%;min-width:0}.tool-form select{padding:6px 10px;border-radius:12px;border:1px solid rgba(26,26,26,.2);font:inherit;color:var(--ink);background:#fff;width:100%;min-width:0}.reset-button{margin-top:6px;border:1px solid rgba(26,26,26,.25);background:#fff;border-radius:12px;padding:6px 10px;font:inherit;color:var(--ink);cursor:pointer;width:100%}.reset-button:hover{background:#1a1a1a0d}.checkbox-row{display:flex;align-items:center;gap:8px}.zoom-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.zoom-row button{border:1px solid rgba(26,26,26,.2);background:#fff;border-radius:10px;padding:6px 10px;font:inherit;color:var(--ink);cursor:pointer;min-width:38px;height:48px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 6px 14px #1a1a1a1f}.home-button.is-highlighted{border-color:#ff7a2f;box-shadow:0 0 0 3px #ff7a2f40}.tool-view{background:#fff;border-radius:18px;padding:0;box-shadow:0 14px 24px #1a1a1a1a;height:min(70vh,640px);min-height:350px;position:relative;container-type:inline-size}.tool-view--pseudo-fullscreen{position:fixed;inset:0;width:100dvw;height:100dvh;min-height:100dvh;max-height:none;border-radius:0;box-shadow:none;z-index:9999}.tool-view svg{width:100%;height:100%;touch-action:none;display:block}.tool-view,.tool-view button,.tool-view input,.tool-view select,.tool-form,.tool-header,.tool-footer{-webkit-user-select:none;user-select:none}.tool-top-bar{position:absolute;top:14px;left:14px;right:14px;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}@media(min-aspect-ratio:3/2){.tool-top-bar{left:28px;right:28px}}.tool-top-bar .zoom-row{margin-top:0}.settings-version{margin-top:auto;font-size:.72rem;color:#1a1a1a73;font-weight:400;text-align:right;justify-self:end}.settings-placeholder{color:var(--muted);font-size:.9rem}.flip-row{display:grid;gap:6px}.flip-row--overlay{position:absolute;top:78px;right:14px;z-index:2;background:#ffffffe6;padding:8px 10px;border-radius:12px;box-shadow:0 10px 20px #1a1a1a1f}.flip-row--overlay .checkbox-row{font-size:.85rem}.flip-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:48px;border-radius:10px;border:1px solid rgba(26,26,26,.2);background:#fff;color:var(--ink)}.flip-toggle .material-symbols-outlined{font-size:20px;line-height:1}.flip-toggle.is-active .material-symbols-outlined{transform:scaleX(-1)}.icon-label{font-family:Noto Sans JP,Yu Gothic UI,sans-serif;font-size:10px;line-height:1;color:#1a1a1ab3;letter-spacing:.02em;font-weight:700}.panel-toggle{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:48px}@container (max-width: 400px){.tool-view .icon-label{display:none}.tool-view .zoom-row button,.tool-view .flip-toggle,.tool-view .panel-toggle{height:36px;gap:0;padding-top:4px;padding-bottom:4px}}.post-nudge{position:absolute;right:calc(14px + var(--notch-right, 0px));bottom:calc(30px + var(--safe-bottom, 0px));left:auto;top:auto;z-index:2;display:grid;gap:10px;pointer-events:none;align-items:end;justify-items:end;grid-auto-rows:min-content;width:max-content}.post-nudge-buttons,.post-nudge-panel-slot{pointer-events:auto}.post-nudge-buttons{display:grid;gap:8px}.post-nudge-toggle{pointer-events:auto;border:1px solid rgba(26,26,26,.2);background:#fff;border-radius:10px;padding:6px 10px;font:inherit;color:var(--ink);cursor:pointer}.post-nudge-panel{background:#fff;padding:6px 8px;border-radius:14px;box-shadow:0 10px 20px #1a1a1a1f;display:grid;gap:6px;pointer-events:auto}.post-nudge-panel--offset{text-align:center}.post-nudge-input{display:grid;gap:2px;text-align:left}.post-nudge-input input{padding:4px 6px;border-radius:8px;border:1px solid rgba(26,26,26,.2);font:inherit;color:var(--ink);max-width:90px}.post-nudge-grid{display:grid;grid-template-columns:repeat(3,28px);grid-template-rows:repeat(3,28px);gap:4px;align-items:center;justify-items:center;grid-template-areas:". up ." "left center right" ". down ."}.post-nudge-grid--input{grid-template-columns:32px 86px 32px;grid-template-rows:repeat(3,32px)}.post-nudge-grid--horiz{grid-template-rows:28px;grid-template-areas:"left center right";align-items:center}.post-nudge-panel--offset{gap:4px}.post-nudge-btn{width:28px;height:28px;border-radius:10px;border:1px solid rgba(26,26,26,.2);background:#fff;color:var(--ink)}.post-nudge-center{grid-area:center;font-weight:700}.post-nudge-center--input{width:100%;height:100%;border-radius:10px;border:1px solid rgba(26,26,26,.2);background:#fff;display:flex;align-items:center;justify-content:center;padding:0 4px;box-sizing:border-box}.post-nudge-center--input input{width:100%;border:none;background:transparent;font:inherit;color:var(--ink);text-align:center;padding:0;appearance:textfield}.post-nudge-center--input input:focus{outline:none}.post-nudge-center.is-offset{background:#e1e1e1;color:#111;border-color:#bdbdbd}.post-nudge-center-text{display:inline-block;transform:translateY(-2px)}.dim-button{cursor:pointer}.dim-button rect{fill:#fff;stroke:#1a1a1a59;stroke-width:1.5}.dim-button.is-active rect{fill:#ffe7d9;stroke:#ff7a2f;stroke-width:2}.dim-button.is-active text{fill:#b44916}.dim-button text{fill:#1a1a1a;pointer-events:none;font-size:34px;font-weight:700}.post-nudge-up{grid-area:up}.post-nudge-left{grid-area:left}.post-nudge-right{grid-area:right}.post-nudge-down{grid-area:down}.cutout-info{position:absolute;right:14px;top:300px;z-index:2;background:#fffffff0;padding:12px 14px;border-radius:14px;box-shadow:0 10px 20px #1a1a1a1f;display:grid;gap:8px;min-width:220px}.cutout-list{display:grid;gap:6px}.cutout-row{display:grid;grid-template-columns:14px 1fr;align-items:center;gap:8px;font-size:.9rem;color:var(--ink)}.cutout-swatch{width:12px;height:12px;border-radius:3px}.cutout-text{white-space:nowrap}.cutout-text-button{text-align:left;font:inherit;color:var(--ink);padding:4px 6px;border-radius:8px}.cutout-text-button.is-active{background:#1a1a1a14}#layer-origin line{stroke:#1a1a1a33;stroke-width:2}.id-label{font-size:48px;fill:#5b5b6a;font-weight:600;pointer-events:none;display:none}.cutout-label{font-size:28px;fill:#1a1a1a;font-weight:600;pointer-events:none}.cutout-dim-bg{fill:#ffffffd9;stroke:#1a1a1a33;stroke-width:1}.cutout-dim-label{font-size:32px;fill:#1a1a1a;font-weight:700;pointer-events:none}.tread-dim-bg{fill:#ffffffd9;stroke:#1a1a1a33;stroke-width:1}.tread-dim-label{font-size:32px;fill:#1a1a1a;font-weight:700;pointer-events:none}.tread-dim-label--outline{fill:none;stroke:#fff;stroke-width:6;stroke-linejoin:round}.tread-index-label{font-size:44px;fill:#1a1a1a8c;font-weight:700;pointer-events:none}.dimension-layer text{font-size:32px;fill:#5b5b6a;font-weight:700}.dimension-layer text.post-dim-label{font-size:32px}.tread-dim-label,.cutout-dim-label{font-size:32px}.tool-results{display:grid;gap:12px;background:#fff;padding:20px;border-radius:18px;box-shadow:0 14px 24px #1a1a1a1a}.footer-credit{font-size:.85rem;color:var(--muted)}.tool-results h2{font-size:1.2rem}.tool-results p{color:var(--muted);font-size:.95rem}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.result-grid div{display:grid;gap:6px;padding:12px 14px;background:#f7f7fb;border-radius:12px}.result-grid span{color:var(--muted);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.result-grid strong{font-size:1.1rem}.back-link{width:fit-content;color:var(--muted);font-size:.9rem;text-decoration:none}.back-link--top{margin-bottom:4px}.back-link:hover{color:var(--ink)}:root{color-scheme:light;font-family:Klee One,Hiragino Maru Gothic ProN,Yu Gothic UI,Noto Sans JP,sans-serif;--ink: #1f2937;--muted: #4b5563;--card: #ffffff;--line: rgba(31, 41, 55, .16);--bg-1: #fff4e8;--bg-2: #e9f7ff;--accent: #f97316;--accent-2: #14b8a6}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 10% 0%,var(--bg-1),var(--bg-2) 60%)}button,input{font:inherit}.page{width:min(1400px,100%);margin:0 auto;padding:44px 20px 60px;display:grid;gap:24px}.tool-header{display:grid;gap:8px}.badge{display:inline-block;width:fit-content;padding:4px 12px;border-radius:999px;color:#fff;font-size:.74rem;letter-spacing:.08em;background:linear-gradient(120deg,var(--accent),var(--accent-2))}.badge-link{text-decoration:none}.badge-link:hover{opacity:.9}.ruler-part,.ruler-handle{cursor:grab}.tool-header h1{font-size:clamp(2rem,5vw,2.8rem)}.lead{color:var(--muted)}.tool-layout{display:grid}.tool-view{position:relative;height:min(72vh,680px);min-height:340px;border-radius:18px;overflow:hidden;background:var(--card);box-shadow:0 14px 30px #1f29371f;-webkit-user-select:none;user-select:none}.tool-view--pseudo-fullscreen{position:fixed;inset:0;z-index:9999;height:100dvh;min-height:100dvh;border-radius:0}.pseudo-fullscreen-active{overflow:hidden}.tool-top-bar{position:absolute;top:14px;left:14px;right:14px;z-index:4;display:flex;justify-content:space-between;gap:10px}.zoom-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.panel-toggle,.zoom-row button,.close-button{border:1px solid var(--line);background:#fffffff2;border-radius:10px;color:var(--ink);cursor:pointer;box-shadow:0 6px 14px #1f29371a}.panel-toggle,.zoom-row button{min-width:42px;height:46px;padding:6px 8px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.panel-toggle.is-hidden{visibility:hidden}.zoom-row button.is-active{border-color:#f59e0b;background:#fff7ed}.icon-label{font-size:10px;line-height:1;color:#1f2937cc;font-weight:700}.tool-overlay-mask{position:absolute;inset:0;z-index:2;background:#0000001f}.tool-form{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;width:min(320px,calc(100% - 28px));display:grid;gap:10px;padding:14px;border-radius:14px;background:#fffffff5;box-shadow:0 12px 28px #1f293729}.tool-form h2{font-size:1rem}.checkbox-row{display:flex;align-items:center;gap:8px;color:var(--muted)}.checkbox-row input{width:18px;height:18px}.close-button{height:38px;padding:0 12px;justify-self:start}.stepper-input{display:grid;grid-template-columns:40px 88px 40px;gap:6px;align-items:center;justify-content:start}.step-btn{height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:1.1rem;font-weight:700;cursor:pointer}.canvas{width:100%;height:100%;display:block;touch-action:none}.bottom-inputs{position:absolute;left:14px;right:14px;bottom:14px;z-index:4;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:10px;border-radius:12px;background:#fffffff0;box-shadow:0 10px 20px #1f293724}.bottom-inputs label{display:grid;gap:4px;color:var(--muted);font-size:.82rem}.input-label-with-check{display:inline-flex;align-items:center;gap:8px}.input-label-with-check input[type=checkbox]{width:16px;height:16px}.bottom-inputs label.input-long{color:#f97316f2}.bottom-inputs label.input-short{color:#0ea5e9f2}.bottom-inputs label.input-angle{color:#be185d}.bottom-inputs input{border:1px solid var(--line);border-radius:8px;padding:6px 8px;color:var(--ink);background:#fff}.stepper-input input{min-width:0}@media(max-width:640px){.page{padding-top:28px}.icon-label{display:none}.panel-toggle,.zoom-row button{height:36px;min-width:36px;gap:0}.bottom-inputs{grid-template-columns:1fr;justify-items:center}.stepper-input{grid-template-columns:46px 132px 46px}.step-btn{height:40px;font-size:1.2rem}}:root{color-scheme:light;font-family:Noto Sans JP,"M PLUS Rounded 1c",Yu Gothic UI,Hiragino Kaku Gothic ProN,sans-serif;font-synthesis:weight style;line-height:1.7;font-weight:500;text-rendering:optimizeLegibility;--ink: #1a1a1a;--muted: #5b5b6a;--accent: #ff6f59;--accent-2: #2ec4b6;--surface: #ffffff;--shadow: rgba(26, 26, 26, .14);--soft: rgba(255, 255, 255, .6)}*{box-sizing:border-box;margin:0;padding:0}body{background:radial-gradient(circle at top left,#fff6f0,#f7f1ff 55%,#eaf6ff);color:var(--ink);min-height:100vh;overflow-x:hidden}#root{min-height:100vh;width:100%;overflow-x:hidden}.menu-toggle{position:fixed;top:12px;right:12px;z-index:60;width:44px;height:44px;border-radius:12px;border:1px solid rgba(26,26,26,.14);background:#fffffff2;display:grid;align-content:center;justify-items:center;gap:5px;box-shadow:0 8px 16px #1a1a1a1f}.menu-toggle span{width:20px;height:2px;background:var(--ink);border-radius:2px}.side-menu-backdrop{position:fixed;inset:0;z-index:70;border:0;background:#0000;pointer-events:none;transition:background .2s ease}.side-menu-backdrop.is-open{pointer-events:auto;background:#0000004d}.side-menu{position:fixed;top:0;right:0;z-index:80;width:min(320px,85vw);height:100vh;background:#fff;border-left:1px solid rgba(26,26,26,.12);box-shadow:0 16px 28px #1a1a1a33;transform:translate(105%);transition:transform .2s ease;display:grid;grid-template-rows:auto 1fr}.side-menu.is-open{transform:translate(0)}.side-menu-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border-bottom:1px solid rgba(26,26,26,.1)}.side-home-link{font-weight:700;font-size:.95rem}.side-menu-close{width:34px;height:34px;border-radius:8px;border:1px solid rgba(26,26,26,.12);background:#fff;font-size:1.2rem;line-height:1}.side-menu-nav{display:grid;align-content:start;gap:8px;padding:12px;overflow-y:auto}.side-menu-link{display:block;padding:10px 12px;border-radius:10px;border:1px solid rgba(26,26,26,.1);background:#fff;font-weight:600;font-size:.9rem}.side-menu-link.active{color:#fff;border-color:transparent;background:linear-gradient(120deg,var(--accent),var(--accent-2))}@media(max-width:768px){.page{max-width:100%;padding-left:12px;padding-right:12px}.menu-toggle{top:10px;right:10px;width:40px;height:40px}}a{color:inherit;text-decoration:none}.page{max-width:1200px;margin:0 auto;padding:56px 24px 80px;display:grid;gap:48px}@media(min-width:900px){.page{padding-left:48px;padding-right:48px}}.paywall{min-height:100vh;display:grid;place-items:center;padding:24px}.paywall-state{min-height:100vh;display:grid;place-items:center;font-weight:700;color:var(--ink)}.paywall-card{width:min(680px,100%);background:#fff;border:1px solid rgba(26,26,26,.12);border-radius:18px;box-shadow:0 18px 30px #1a1a1a1f;padding:20px;display:grid;gap:12px}.paywall-label{font-size:.8rem;color:var(--muted);letter-spacing:.08em}.paywall-desc{color:var(--muted)}.paywall-meta{display:grid;gap:4px;color:var(--muted);font-size:.9rem}.paywall-actions{display:flex;flex-wrap:wrap;gap:10px}.paywall-button,.paywall-refresh{border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.paywall-button{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff}.paywall-button:disabled{opacity:.7;cursor:wait}.paywall-refresh{background:#f1f2f6;color:var(--ink)}.paywall-error{color:#c62828;font-weight:700}.badge{display:inline-flex;align-self:start;padding:6px 16px;border-radius:999px;background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.badge-button{border:0;cursor:pointer}.badge-button:hover{opacity:.9}.hero{display:grid;gap:16px;animation:rise-in .8s ease both}.restricted-notice{display:inline-flex;align-self:start;padding:8px 12px;border-radius:10px;border:1px solid rgba(198,40,40,.35);background:#c628281a;color:#8b1d1d;font-size:.85rem;font-weight:700;letter-spacing:.02em}.dev-gate{min-height:100vh;display:grid;place-items:center;padding:20px}.dev-gate-card{width:min(420px,100%);display:grid;gap:12px;background:#fff;border:1px solid rgba(26,26,26,.14);border-radius:14px;padding:20px;box-shadow:0 16px 28px #1a1a1a1f}.dev-gate-card p{color:var(--muted)}.dev-gate-card input{width:100%;border:1px solid rgba(26,26,26,.2);border-radius:10px;padding:10px 12px;font:inherit}.dev-gate-card button{border:0;border-radius:10px;padding:10px 12px;font-weight:700;background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;cursor:pointer}.dev-gate-error{color:#c62828;font-weight:700}.hero-main h1{font-size:clamp(2.2rem,4vw,3.1rem);line-height:1.3}.lead{color:var(--muted);font-size:1.05rem;margin-top:12px;max-width:680px}.tools-section{display:grid;gap:16px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.tool-card{background:var(--surface);border-radius:18px;padding:18px;display:grid;gap:10px;box-shadow:0 14px 24px var(--shadow);border:1px solid rgba(26,26,26,.08);min-height:140px;transition:transform .2s ease,box-shadow .2s ease;animation:fade-slide .7s ease both}.tool-card:hover{transform:translateY(-4px);box-shadow:0 18px 30px #1a1a1a2e}.tool-card-header{display:flex;flex-direction:column;gap:4px}.tool-card-header h3{font-size:1.2rem}.tool-card-id{font-size:.72rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.tool-card-desc{font-weight:600}.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 10px;border-top:1px solid rgba(26,26,26,.12)}.tool-footer{display:grid;gap:12px;padding:20px 22px;background:linear-gradient(135deg,#fff7f1,#f4fbff);border-radius:18px;border:1px dashed rgba(26,26,26,.18);box-shadow:0 10px 18px #1a1a1a14;align-items:start}.tool-footer p{color:var(--muted);font-size:.95rem}.paypay-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;border:1px solid rgba(26,26,26,.2);background:#fff;color:var(--ink);font-weight:600;text-decoration:none;width:fit-content}.paypay-link:hover{background:#1a1a1a0d}.footer-title{font-weight:700}.footer-text{color:var(--muted);font-size:.9rem}.footer-credit{color:var(--muted);font-size:.85rem}@keyframes rise-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-slide{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
