:root{--g-frame: #fbf8f3;--g-bg: #ffffff;--g-surface: #ffffff;--g-text: #231f1a;--g-muted: #625d55;--g-line: #ece4d6;--g-accent: #ff4fa3;--g-accent-ink: #3a0a22;--g-danger: #b3261e;--g-radius: 18px;--g-max: 980px;--g-display: "Bricolage Grotesque", system-ui, sans-serif}@media(prefers-color-scheme:dark){:root{--g-frame: #17140f;--g-bg: #1f1b16;--g-surface: #26211b;--g-text: #f3eee6;--g-muted: #b1a999;--g-line: #38322a;--g-danger: #ff9a92}}*{box-sizing:border-box}body:has(.app){margin:0;background:var(--g-frame);color:var(--g-text);font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app a{color:inherit;text-decoration-color:var(--g-accent);text-underline-offset:3px}.app :focus-visible{outline:3px solid var(--g-accent);outline-offset:2px}.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.side{position:sticky;top:0;height:100vh;padding:20px 14px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 16px;font:800 1.35rem/1 var(--g-display);text-decoration:none;letter-spacing:-.02em}.mark{position:relative;width:28px;height:28px;flex:none}.mark i{position:absolute;width:16px;height:16px}.mark i:nth-child(1){left:0;top:0;border-radius:50%;background:#ff6b4a}.mark i:nth-child(2){right:0;top:4px;border-radius:4px;background:#7c5cff;transform:rotate(12deg)}.mark i:nth-child(3){left:6px;bottom:0;background:#12b886;clip-path:polygon(50% 0,100% 100%,0 100%)}.side-label{padding:0 10px 4px;font-size:.8rem;color:var(--g-muted)}.tools{display:grid;gap:2px}.tools a,.meta a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;text-decoration:none;font-size:.96rem}.tools a:hover,.meta a:hover{background:color-mix(in srgb,var(--g-text) 7%,transparent)}.tools a{border-radius:999px}.tools a[aria-current=page]{background:var(--g-bg);box-shadow:inset 0 0 0 1.5px var(--hue);font-weight:600}.meta{margin-top:auto;display:grid;gap:0}.meta a{color:var(--g-muted);padding:8px 12px;font-size:.9rem}.meta a[aria-current=page]{color:var(--g-text);font-weight:600}.side-note{display:flex;gap:8px;align-items:flex-start;margin:6px 10px 0;font-size:.82rem;line-height:1.4;color:var(--g-muted)}.side-note .dot{flex:none;width:8px;height:8px;margin-top:5px;border-radius:50%;background:#12b886}.shape{flex:none;width:18px;height:18px;background:var(--hue)}.shape.circle{border-radius:50%}.shape.square{border-radius:4px;transform:rotate(8deg)}.shape.triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}.shape.diamond{border-radius:3px;transform:rotate(45deg) scale(.82)}.sheet{margin:12px 12px 12px 0;background-color:var(--g-bg);border:1px solid var(--g-line);border-radius:28px;box-shadow:0 10px 40px #3c281414;min-width:0;display:flex;flex-direction:column;background-image:radial-gradient(color-mix(in srgb,var(--g-text) 9%,transparent) 1px,transparent 1.2px);background-size:22px 22px}.wrap{max-width:var(--g-max);margin:0 auto;padding:36px 32px 24px;width:100%;flex:1}footer.site{padding:14px 32px 20px;color:var(--g-muted);font-size:.85rem}h1{font:800 clamp(1.9rem,4.4vw,3rem)/1.05 var(--g-display);letter-spacing:-.03em;margin:0 0 12px}h2{font:700 1.4rem/1.2 var(--g-display);letter-spacing:-.015em;margin:40px 0 10px}h3{font-size:1.1rem;margin:22px 0 4px}.lead{color:var(--g-muted);font-size:1.08rem;margin:0 0 22px;max-width:60ch}p,li{max-width:70ch}.wrap>p,.wrap>ol,.wrap>ul,.wrap>details{background:var(--g-bg);box-shadow:0 0 0 6px var(--g-bg);border-radius:4px}.wrap>ol,.wrap>ul{padding-left:1.4em}.boards{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:26px 0 0}.board{position:relative;display:flex;flex-direction:column;gap:6px;min-height:200px;padding:18px;border:1.5px solid var(--g-line);border-radius:18px;background:var(--g-surface);text-decoration:none;transition:transform .15s ease,border-color .15s ease}.board:nth-child(odd){transform:rotate(-.6deg)}.board:nth-child(2n){transform:rotate(.5deg)}.board:hover,.board:focus-visible{transform:rotate(0) translateY(-3px);border-color:var(--hue)}.board .shape{width:44px;height:44px;margin-bottom:14px}.board strong{font:700 1.2rem/1.2 var(--g-display)}.board .d{color:var(--g-muted);font-size:.93rem;line-height:1.45}.board .go{margin-top:auto;padding-top:10px;font-size:.88rem;font-weight:600}.board .go:after{content:" →"}@media(prefers-reduced-motion:reduce){.board,.board:hover{transition:none;transform:none}}.tool{border:1.5px solid var(--g-line);border-radius:26px;box-shadow:0 6px 24px #3c281412;background:var(--g-surface);padding:18px;margin:16px 0 8px}.drop{border:2px dashed var(--g-line);border-radius:var(--g-radius);padding:30px 12px;text-align:center;color:var(--g-muted);cursor:pointer;display:block;background:var(--g-surface)}.drop:hover,.drop.is-over,.drop:focus-visible{border-color:var(--g-accent);outline:none;color:var(--g-text)}.drop input{display:none}.drop strong{color:var(--g-text)}.drop .hint{margin-top:4px;font-size:.9rem}.options{display:grid;gap:12px 16px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:16px 0}.options label{display:block;font-size:.9rem;color:var(--g-muted)}.options input,.options select{width:100%;margin-top:4px;padding:8px 10px;font:inherit;color:var(--g-text);background:var(--g-bg);border:1px solid var(--g-line);border-radius:14px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{padding:6px 12px;font:inherit;font-size:.88rem;color:var(--g-text);background:var(--g-bg);border:1px solid var(--g-line);border-radius:999px;cursor:pointer}.chip:hover{border-color:var(--g-accent)}.btn{display:inline-block;padding:11px 24px;box-shadow:0 4px 14px color-mix(in srgb,var(--g-accent) 35%,transparent);font:inherit;font-weight:700;color:var(--g-accent-ink);background:var(--g-accent);border:0;border-radius:999px;cursor:pointer;text-decoration:none}.btn:hover{filter:brightness(1.06)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-small{padding:6px 14px;font-size:.9rem}.status{margin:10px 0 0;color:var(--g-muted);font-size:.93rem;min-height:1.4em}.results{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}.result{display:grid;grid-template-columns:56px 1fr auto;gap:4px 12px;align-items:center;padding:10px;border:1px solid var(--g-line);border-radius:12px}.result-thumb{width:56px;height:56px;object-fit:cover;border-radius:8px;grid-row:span 2}.result-name{font-weight:600;word-break:break-all}.result-info{grid-column:2;color:var(--g-muted);font-size:.9rem}.result .btn{grid-column:3;grid-row:1 / span 2}.result.is-error{grid-template-columns:1fr}.result.is-error .result-info{grid-column:1;color:var(--g-danger)}.note{border-left:4px solid var(--g-accent);padding:4px 0 4px 14px;color:var(--g-muted);background:var(--g-bg)}details{border-bottom:1px solid var(--g-line);padding:10px 0}summary{cursor:pointer;font-weight:600;padding:8px 0}.editor{margin:16px 0 8px}.ed-work{display:grid;gap:16px;grid-template-columns:1fr}@media(min-width:900px){.ed-work{grid-template-columns:minmax(0,1fr) 290px;align-items:start}}.ed-stage{position:relative;--split: 50%;width:100%;height:clamp(320px,68vh,640px);margin:0 auto;overflow:hidden;border:1.5px solid var(--g-line);border-radius:26px;background:repeating-conic-gradient(var(--g-line) 0 25%,var(--g-surface) 0 50%) 0 0 / 16px 16px;touch-action:none;cursor:grab;user-select:none}.ed-stage.is-panning{cursor:grabbing}.ed-pane{position:absolute;inset:0;overflow:hidden}.ed-pane.ed-after{clip-path:inset(0 0 0 var(--split))}.ed-layer{position:absolute;inset:0;transform-origin:0 0;will-change:transform}.ed-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;image-rendering:auto}.ed-stage.is-zoomed .ed-img{image-rendering:pixelated}.ed-handle{position:absolute;top:0;bottom:0;left:var(--split);width:28px;margin-left:-14px;cursor:ew-resize;outline:none;touch-action:none}.ed-handle:before{content:"";position:absolute;top:0;bottom:0;left:12px;width:4px;background:#fff;box-shadow:0 0 0 1px #00000040}.ed-handle:focus-visible:before{box-shadow:0 0 0 3px var(--g-accent)}.ed-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--g-accent);color:var(--g-accent-ink);font-size:1.1rem;box-shadow:0 2px 8px #00000040}.ed-zoom{position:absolute;right:10px;bottom:10px;display:flex;gap:2px;padding:4px;border-radius:999px;background:var(--g-surface);border:1px solid var(--g-line);box-shadow:0 2px 10px #00000026;cursor:default}.ed-zoom button{min-width:36px;height:36px;padding:0 8px;font:inherit;font-size:.9rem;font-weight:600;color:var(--g-text);background:transparent;border:0;border-radius:999px;cursor:pointer}.ed-zoom button:hover{background:color-mix(in srgb,var(--g-text) 9%,transparent)}.ed-hint{margin:8px 0 0;font-size:.85rem;color:var(--g-muted)}.ed-tag{position:absolute;top:10px;padding:3px 12px;border-radius:999px;font-size:.8rem;font-weight:700;background:#000000a6;color:#fff;pointer-events:none}.ed-tag-l{left:10px}.ed-tag-r{right:10px;background:var(--g-accent);color:var(--g-accent-ink)}.ed-busy{position:absolute;left:50%;top:10px;transform:translate(-50%);padding:4px 14px;border-radius:999px;background:#000000b8;color:#fff;font-size:.88rem;pointer-events:none}.ed-busy[hidden],.ed-work[hidden],.drop[hidden]{display:none}.ed-sizes{display:flex;flex-wrap:wrap;gap:4px 18px;margin:10px 0 0;font-size:.95rem;color:var(--g-muted)}.ed-sizes span:last-child{color:var(--g-text);font-weight:700}.ed-panel{border:1.5px solid var(--g-line);border-radius:26px;box-shadow:0 6px 24px #3c281412;background:var(--g-surface);padding:16px;display:grid;gap:14px}.ed-field{border:0;margin:0;padding:0;min-width:0;font-size:.92rem;color:var(--g-muted)}.ed-field[hidden]{display:none}.ed-field legend{padding:0;margin-bottom:4px}.ed-field select,.ed-field input[type=number]{width:100%;margin-top:4px;padding:8px 10px;font:inherit;color:var(--g-text);background:var(--g-bg);border:1px solid var(--g-line);border-radius:10px}.ed-field input[type=range]{width:100%;margin-top:6px;accent-color:var(--g-accent)}.ed-field input[type=radio],.ed-field input[type=checkbox]{accent-color:var(--g-accent)}.ed-radio{display:flex;align-items:center;gap:8px;padding:6px 0;color:var(--g-text)}.ed-dims{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.ed-dims[hidden]{display:none}.ed-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.btn[aria-disabled=true]{opacity:.45;pointer-events:none}@media(max-width:820px){.app{grid-template-columns:minmax(0,1fr)}.side,.tools{min-width:0;max-width:100%}.side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:12px 14px 4px;overflow:visible}.brand{padding:4px 8px}.side-label,.side-note,.meta{display:none}.tools{display:flex;gap:6px;overflow-x:auto;width:100%;padding-bottom:6px}.tools a{flex:none;padding:10px 14px;border:1px solid var(--g-line);border-radius:999px;background:var(--g-bg);gap:8px;white-space:nowrap}.sheet{margin:4px}.wrap{padding:24px 16px 16px}footer.site{padding:10px 16px 16px}}@media(max-width:520px){.result{grid-template-columns:48px 1fr}.result .btn{grid-column:1 / -1;grid-row:auto;justify-self:start}}.shape.pill{width:24px;height:14px;border-radius:999px;transform:rotate(-12deg)}.board .shape.pill{width:60px;height:34px;margin-bottom:20px}.bd{position:relative;flex:1;min-height:560px;height:calc(100vh - 70px);overflow:hidden;border-radius:20px 20px 0 0;background-color:var(--g-bg);background-image:radial-gradient(color-mix(in srgb,var(--g-text) 18%,transparent) 1.3px,transparent 1.6px);background-size:var(--dot, 24px) var(--dot, 24px);background-position:var(--dx, 0) var(--dy, 0);touch-action:none;cursor:grab;user-select:none}.bd.is-panning{cursor:grabbing}.bd.is-moving{cursor:move}.bd.is-over{box-shadow:inset 0 0 0 4px var(--g-accent)}.bd-world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.bd-item{position:absolute}.bd-photo{background:var(--g-surface);border:1.5px solid var(--g-line);border-radius:14px;box-shadow:0 6px 24px #281e0a1f;cursor:move}.bd-photo.is-selected{border-color:var(--g-accent);box-shadow:0 0 0 3px var(--g-accent),0 10px 30px #281e0a33}.bd-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;font-size:13px}.bd-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.bd-badge{flex:none;padding:2px 10px;border-radius:999px;background:var(--g-accent);color:var(--g-accent-ink);font-weight:700;font-size:12px;white-space:nowrap}.bd-badge.is-worse{background:var(--g-line);color:var(--g-text)}.bd-media{position:relative;overflow:hidden;border-radius:0 0 12px 12px;background:repeating-conic-gradient(var(--g-line) 0 25%,var(--g-surface) 0 50%) 0 0 / 14px 14px}.bd-img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.is-zoomed .bd-img{image-rendering:pixelated}.bd-after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--split, 50%))}.bd-grip-split{position:absolute;top:0;bottom:0;left:var(--split, 50%);width:26px;margin-left:-13px;cursor:ew-resize}.bd-grip-split:before{content:"";position:absolute;top:0;bottom:0;left:11px;width:4px;background:#fff;box-shadow:0 0 0 1px #0000004d}.bd-grip-split span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--g-accent);color:var(--g-accent-ink);font-size:15px}.bd-tag{position:absolute;top:8px;padding:1px 9px;border-radius:999px;font-size:11px;font-weight:700;background:#000000a6;color:#fff;pointer-events:none}.bd-tag-l{left:8px}.bd-tag-r{right:8px;background:var(--g-accent);color:var(--g-accent-ink)}.bd-busy{position:absolute;left:50%;bottom:8px;transform:translate(-50%);padding:2px 12px;border-radius:999px;background:#000000b8;color:#fff;font-size:12px;pointer-events:none}.bd-busy[hidden],.bd-empty[hidden],.bd-toast[hidden],.bd-insp[hidden]{display:none}.bd-resize{position:absolute;right:-7px;bottom:-7px;width:18px;height:18px;border-radius:50%;background:var(--g-surface);border:2px solid var(--g-accent);cursor:nwse-resize;opacity:0}.bd-photo:hover .bd-resize,.bd-photo.is-selected .bd-resize{opacity:1}.bd-note{min-width:120px;padding:0 0 10px;border-radius:6px;box-shadow:0 5px 16px #281e0a2e;color:#2a2418;transform:rotate(-1.2deg);cursor:move}.bd-note-bar{display:flex;gap:6px;align-items:center;padding:8px 10px 2px;opacity:0;transition:opacity .15s}.bd-note:hover .bd-note-bar,.bd-note:focus-within .bd-note-bar,.bd-note.is-selected .bd-note-bar{opacity:1}.bd-swatch{width:16px;height:16px;padding:0;border:1.5px solid rgba(0,0,0,.35);border-radius:50%;cursor:pointer}.bd-note-del{margin-left:auto;width:22px;height:22px;padding:0;font-size:16px;line-height:1;color:#2a2418;background:transparent;border:0;cursor:pointer}.bd-note-text{padding:2px 12px 4px;min-height:80px;font:600 15px/1.45 var(--g-display);outline:none;cursor:text;user-select:text;white-space:pre-wrap;word-break:break-word}.bd-bar{position:absolute;left:50%;bottom:16px;transform:translate(-50%);display:flex;align-items:center;gap:2px;padding:5px;border-radius:999px;background:var(--g-surface);border:1px solid var(--g-line);box-shadow:0 6px 24px #281e0a2e;max-width:calc(100% - 20px);overflow-x:auto;cursor:default}.bd-tool{flex:none;min-height:38px;padding:0 14px;font:inherit;font-size:.9rem;font-weight:600;color:var(--g-text);background:transparent;border:0;border-radius:999px;cursor:pointer;white-space:nowrap}.bd-tool:hover{background:color-mix(in srgb,var(--g-text) 9%,transparent)}.bd-sq{min-width:38px;padding:0;font-size:1.1rem}.bd-sep{flex:none;width:1px;height:22px;margin:0 4px;background:var(--g-line)}.bd-insp{grid-template-columns:minmax(0,1fr);overflow-x:hidden;position:absolute;top:14px;right:14px;width:280px;max-height:calc(100% - 100px);overflow-y:auto;display:grid;gap:12px;padding:14px;border-radius:18px;background:var(--g-surface);border:1.5px solid var(--g-line);box-shadow:0 8px 28px #281e0a2e;cursor:default;user-select:text}.bd-insp-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.bd-insp-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--g-display)}.bd-info{margin:0;font-size:.9rem;color:var(--g-muted)}.bd-info strong{color:var(--g-text)}.bd-empty{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.bd-empty-card{pointer-events:auto;max-width:380px;margin:16px;padding:26px;text-align:center;border:2px dashed var(--g-line);border-radius:24px;background:var(--g-surface);transform:rotate(-.8deg);cursor:default}.bd-empty-card strong{display:block;font:800 1.5rem/1.1 var(--g-display);margin-bottom:8px}.bd-empty-card p{margin:0 auto 16px;color:var(--g-muted);font-size:.95rem}.bd-toast{position:absolute;left:50%;top:14px;transform:translate(-50%);max-width:calc(100% - 40px);padding:8px 16px;border-radius:999px;background:#1d1b19;color:#fff;font-size:.9rem}.bd-foot{position:absolute;left:16px;bottom:6px;margin:0;font-size:.78rem;color:var(--g-muted);pointer-events:none}@media(max-width:820px){.bd{height:calc(100vh - 130px);min-height:480px;border-radius:16px 16px 0 0}.bd-insp{inset:auto 8px 70px;width:auto;max-height:46%}.bd-foot{display:none}}.bd-insp *,.ed-panel *{min-width:0;max-width:100%}.bd-insp input[type=range],.ed-panel input[type=range]{width:100%}.ed-panel{grid-template-columns:minmax(0,1fr)}.lang{display:flex;gap:4px;margin:10px 10px 0;font-size:.85rem;font-weight:700}.lang a,.lang-cur{padding:4px 12px;border-radius:999px;text-decoration:none;border:1px solid var(--g-line)}.lang-cur{background:var(--g-text);color:var(--g-frame);border-color:var(--g-text)}.lang a:hover{border-color:var(--g-accent)}@media(max-width:820px){.lang{margin:0 0 0 auto}.side .lang{display:flex}}.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 0 8px}.cta{display:inline-block;background:var(--g-accent);color:#fff;font-weight:800;padding:12px 24px;border-radius:999px;text-decoration:none;box-shadow:0 6px 18px -8px var(--g-accent)}.cta:hover{filter:brightness(1.06)}.cta-note{color:var(--g-muted);font-size:.92rem}.steps{padding-left:1.6em;list-style:decimal}.steps li{margin:6px 0}.faq details{background:var(--g-surface);border:1.5px solid var(--g-line);border-radius:14px;padding:12px 16px;margin:0 0 10px}.faq summary{cursor:pointer;font-weight:700}.faq details p{margin:8px 0 0}.related{padding-left:1.2em}.related li{margin:4px 0}.tips{padding-left:1.4em;list-style:disc}.tips li{margin:6px 0}.crumbs{font-size:.85rem;color:var(--g-muted, #6b5b73);margin:0 0 10px}.crumbs a{color:inherit}.meta-line{margin:-4px 0 12px;font-size:.85rem;color:var(--g-muted, #6b5b73)}.cards{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.cards a{display:block;height:100%;background:var(--g-surface);border:1.5px solid var(--g-line);border-radius:14px;padding:14px 16px;text-decoration:none;color:inherit}.cards a:hover{border-color:#ff4fa3}.cards strong{display:block;margin-bottom:4px}.cards span{font-size:.92rem;color:var(--g-muted, #6b5b73)}.cta.ghost{background:transparent;color:inherit;border:1.5px solid var(--g-line)}
