.pp{display:flex;flex-direction:column;gap:12px;min-width:0}.pp-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:4px;border-radius:var(--r-ctl, 12px);background:var(--raised, #efe9df)}.pp-tabs::-webkit-scrollbar{display:none}.pp-tab{position:relative;flex:1 0 auto;min-height:36px;padding:6px 12px;border:0;border-radius:var(--r-sm, 8px);background:transparent;color:var(--ink-2, #5e554a);font:inherit;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color var(--t-change, .18s) var(--ease, ease),color var(--t-change, .18s) var(--ease, ease)}.pp-tab[aria-selected=true]{background:var(--surface, #fdfbf7);color:var(--ink, #1f1b16);box-shadow:var(--shadow-1, 0 1px 2px rgba(0, 0, 0, .05))}.pp-tab:before{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}.pp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--pp-size) + 24px),1fr));gap:4px;margin:0 -4px;min-height:calc(4 * (var(--pp-size) + 36px) + 12px);align-content:start}.pp-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 6px;border:0;border-radius:var(--r-ctl, 12px);background:transparent;color:var(--ink-2, #5e554a);font:inherit;cursor:pointer;transition:background-color var(--t-change, .18s) var(--ease, ease)}.pp-item:hover{background:#1f1b160d}.pp-item[aria-selected=true]{box-shadow:inset 0 0 0 1.5px var(--ink, #1f1b16);background:var(--surface, #fdfbf7);color:var(--ink, #1f1b16)}.pp-item:focus-visible{outline:2px solid var(--ink, #1f1b16);outline-offset:1px}.pp-name{font-size:12px;line-height:1.3;text-align:center;max-width:100%;word-break:keep-all;overflow-wrap:normal;-webkit-hyphens:auto;hyphens:auto}.pp-rec{font-size:11px;line-height:1.2;color:var(--ink-2, #5e554a);font-weight:600}.pp-current{font-size:13px;color:var(--ink-3, #6f665b)}.adv-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;display:grid;place-items:center;padding:calc(16px + var(--safe-t, 0px)) 16px calc(16px + var(--safe-b, 0px))}.adv-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#14100c99;animation:adv-fade var(--t-change, .18s) var(--ease, ease) both}.adv-card{position:relative;width:100%;max-width:420px;max-height:100%;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:16px;padding:8px 12px 16px;border-radius:var(--r-panel, 20px);background:var(--surface, #fdfbf7);color:var(--ink, #1f1b16);box-shadow:0 16px 48px #0000002e,inset 0 0 0 1px var(--line, rgba(31, 27, 22, .08));animation:adv-rise var(--t-enter, .3s) var(--ease, ease) both}.adv-card:focus-visible{outline:none}@media(min-width:768px){.adv-card{max-width:460px;padding:8px 16px 20px}}@keyframes adv-fade{0%{opacity:0}to{opacity:1}}@keyframes adv-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.adv-head{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding-left:4px;margin-bottom:-8px}.adv-label{font-size:12px;line-height:20px;font-weight:500;color:var(--ink-2, #5e554a);border-radius:4px;padding:0 8px;box-shadow:inset 0 0 0 1px var(--line-2, rgba(31, 27, 22, .14))}.adv-close-slot{width:44px;height:44px;display:grid;place-items:center;margin-right:-4px}.adv-close{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:var(--r-ctl, 12px);cursor:pointer;background:transparent;color:var(--ink, #1f1b16);animation:adv-fade var(--t-change, .18s) var(--ease, ease) both;transition:background-color var(--t-change, .18s) var(--ease, ease)}.adv-close:hover{background:#1f1b160f}.adv-wait{position:relative;width:32px;height:32px;display:grid;place-items:center;color:var(--ink-3, #6f665b)}.adv-wait svg{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.adv-wait circle{fill:none;stroke-width:2.5}.adv-wait-track{stroke:var(--line-2, rgba(31, 27, 22, .14))}.adv-wait-ring{stroke:currentColor;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:0;animation-name:adv-wait;animation-timing-function:linear;animation-fill-mode:forwards}.adv-wait.is-still .adv-wait-ring{animation:none;stroke:none}.adv-wait-num{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}@keyframes adv-wait{to{stroke-dashoffset:100}}.adv-icon{display:block;flex:none;border-radius:22%;background:#0b0b0b;box-shadow:0 1px 2px #0000001f}.adv-icon-m{width:56px;height:56px}.adv-icon-l{width:88px;height:88px}.adv-name{font-size:20px;line-height:1.3;font-weight:700;letter-spacing:0}.adv-tagline{font-size:14px;line-height:1.5;color:var(--ink-2, #5e554a)}.adv-shot{margin:0;border-radius:12px;overflow:hidden;background:#0b0b0b;aspect-ratio:16 / 9;box-shadow:inset 0 0 0 1px var(--line, rgba(31, 27, 22, .08))}.adv-shot img{display:block;width:100%;height:100%;object-fit:cover}.adv-brand{display:flex;align-items:center;gap:12px;padding:0 4px}.adv-brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}.adv-stage{border-radius:14px;background:#0b0b0b;color:#fff;overflow:hidden}.adv-stage .adv-name-l{font-size:28px;line-height:1.2;font-weight:700;color:#fff}.adv-stage .adv-tagline-l{font-size:15px;line-height:1.5;color:#ffffffbd}.adv-stage-brand{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 16px 16px}.adv-stage-brand .adv-name-l{margin-top:14px}.adv-stage-brand .adv-tagline-l{margin-top:6px}.adv-stage-brand .adv-shot-inset{width:100%;margin-top:22px;border-radius:8px;box-shadow:0 0 0 1px #ffffff14}.adv-stage-visual{position:relative;aspect-ratio:4 / 3;background-size:cover;background-position:70% 30%;display:flex;align-items:flex-end}.adv-stage-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#0b0b0bf0,#0b0b0bb8 42%,#0b0b0b00 78%)}.adv-stage-visual-in{position:relative;padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.adv-stage-visual .adv-icon-l{width:64px;height:64px;margin-bottom:10px;box-shadow:0 0 0 1px #ffffff1f}.adv-text{display:flex;flex-direction:column;gap:12px;padding:0 4px}.adv-body{font-size:15px;line-height:1.65;color:var(--ink-2, #5e554a)}.adv-facts{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.adv-facts li{font-size:13px;line-height:24px;color:var(--ink-2, #5e554a);padding:0 10px;border-radius:6px;background:var(--raised, #efe9df)}.adv-cta{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 20px;border-radius:var(--r-ctl, 12px);background:#1f1b16;color:#fff;font-size:16px;font-weight:600;text-decoration:none;transition:background-color var(--t-change, .18s) var(--ease, ease),transform var(--t-press, .12s) var(--ease, ease)}.adv-cta:hover{background:#000}.adv-cta:active{transform:scale(.98)}.adv-cta svg{color:#fffc}.adv-cta:focus-visible{outline:2px solid var(--ink, #1f1b16);outline-offset:3px}.adv-close:focus-visible{outline:2px solid var(--ink, #1f1b16);outline-offset:-4px}.adv-root[data-input=pointer] .adv-close:focus-visible{outline:none}.adv-body,.adv-tagline{word-break:auto-phrase;text-wrap:pretty}.ar-button{display:inline-flex;align-items:center;gap:4px}a.ar-button:not(.btn):not(.text-btn){font:inherit;padding:6px 10px;border:1px solid #b9b4a6;border-radius:8px;background:#fff;color:inherit;text-decoration:none}a.ar-button img{display:block}.ar-icon{flex:none}.ar-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1e1a1473;display:flex;align-items:center;justify-content:center;padding:12px}.ar-dialog{background:var(--surface, #fbfaf5);color:var(--ink, #2b2622);border-radius:var(--r-panel, 14px);width:min(520px,100%);max-height:100%;overflow:auto;padding:16px 20px 20px;box-shadow:var(--shadow-float, 0 10px 40px rgba(0, 0, 0, .25));display:flex;flex-direction:column;gap:12px}.ar-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-right:-8px}.ar-dialog-head button{width:44px;height:44px;flex:none;display:inline-grid;place-items:center;border:0;border-radius:var(--r-ctl, 12px);background:transparent;color:inherit;cursor:pointer}.ar-dialog-head button:hover{background:#1f1b160d}.ar-dialog-head b{font-size:17px;font-weight:600}.ar-preview{position:relative;height:min(46vh,320px);background:var(--raised, #ece9df);border-radius:var(--r-card, 10px);overflow:hidden;touch-action:none}.ar-preview-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.ar-size{margin:0;font-size:13px;color:var(--ink-2, #5e554a);font-variant-numeric:tabular-nums}.ar-size-value{white-space:nowrap}.ar-qr-row{display:flex;gap:16px;align-items:center}.ar-qr{flex:none;width:128px;height:128px;background:#fff;border-radius:6px}.ar-qr svg{display:block;width:100%;height:100%}.ar-note{margin:0 0 4px;font-size:14px;line-height:1.5}.ar-note.small{font-size:13px;color:var(--ink-3, #6f665b)}.ar-note.warn{color:#a5402f}.ar-url{display:flex;gap:8px;margin-top:4px}.ar-url button{flex:none;min-height:44px;padding:0 16px;border:0;border-radius:var(--r-ctl, 12px);font:inherit;font-size:15px;font-weight:600;cursor:pointer;background:var(--surface, #fdfbf7);color:var(--ink, #1f1b16);box-shadow:inset 0 0 0 1px var(--line-2, rgba(31, 27, 22, .14))}.ar-url input{flex:1;min-width:0;font:inherit;font-size:14px;padding:8px 12px;min-height:44px;border:0;box-shadow:inset 0 0 0 1px var(--line-2, #b9b4a6);border-radius:var(--r-sm, 8px);background:#fff}.ar-qr-url{word-break:break-all}:root{--bg: #f7f4ee;--surface: #fdfbf7;--raised: #efe9df;--desk: #ebe6dc;--ink: #1f1b16;--ink-2: #5e554a;--ink-3: #6f665b;--line: rgba(31, 27, 22, .08);--line-2: rgba(31, 27, 22, .14);--shu: #e50201;--shu-hover: #cf0201;--shu-ink: #c40000;--shu-soft: #fbe9e6;--shadow-1: 0 1px 2px rgba(0, 0, 0, .05);--shadow-float: 0 8px 24px rgba(0, 0, 0, .08);--r-sm: 8px;--r-ctl: 12px;--r-card: 16px;--r-panel: 20px;--ease: cubic-bezier(.22, 1, .36, 1);--t-press: .12s;--t-change: .18s;--t-enter: .3s;--font: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans CJK JP", "Yu Gothic UI", "Meiryo", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", "Noto Serif CJK JP", "Source Han Serif JP", Georgia, serif;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--asanoha: url(/app/assets/asanoha-Cp-74qNj.svg);color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{margin:0;min-height:100%}body{font-family:var(--font);background:var(--bg);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-feature-settings:"palt" 1;overscroll-behavior-y:none}#root{min-height:100dvh}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}img{display:block}h1,h2,h3,p{margin:0}:focus{outline:none}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--shu-soft)}html[lang=ja] body{word-break:auto-phrase}:lang(zh-Hans){--font: "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Songti SC", "Noto Serif CJK SC", "Noto Serif SC", "Source Han Serif SC", "SimSun", Georgia, serif}:lang(zh-Hant){--font: "PingFang TC", "Noto Sans CJK TC", "Noto Sans TC", "Source Han Sans TC", "Microsoft JhengHei", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Songti TC", "Noto Serif CJK TC", "Noto Serif TC", "Source Han Serif TC", "PMingLiU", Georgia, serif}:lang(ko){--font: "Apple SD Gothic Neo", "Noto Sans CJK KR", "Noto Sans KR", "Source Han Sans KR", "Malgun Gothic", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: var(--font)}:lang(fr),:lang(es){--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Hiragino Sans", sans-serif}[lang]:not(html){font-family:var(--font)}html:lang(ko) body{word-break:keep-all;overflow-wrap:anywhere}html:lang(zh-Hans) body,html:lang(zh-Hant) body{line-break:strict}html:lang(fr) body,html:lang(es) body{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}h1,h2,h3,.btn,.chip,.empty-title,.empty-hint,.hero-meta,.prep-title,.prep-sub,.setting-sub,.done-lead,.sheet-lead,.state-screen p,.motion-btn,.text-btn,.tutorial-title,.model-card-title,.link-row>span,.doc-section h2{text-wrap:balance}p,.step-text,.caption-text,.doc-section p{text-wrap:pretty}.app{min-height:100dvh}.screen{min-height:100dvh;display:flex;flex-direction:column}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.asanoha{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-color:currentColor;-webkit-mask-image:var(--asanoha);mask-image:var(--asanoha);-webkit-mask-size:44px auto;mask-size:44px auto}.asanoha.faint{color:#1f1b160b}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:var(--r-ctl);border:0;font-weight:600;font-size:16px;cursor:pointer;transition:transform var(--t-press) var(--ease),background-color var(--t-change) var(--ease),box-shadow var(--t-change) var(--ease);user-select:none;-webkit-user-select:none;white-space:nowrap}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--shu);color:#fff}.btn-primary:hover{background:var(--shu-hover)}.btn-quiet{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}.btn-quiet:hover{background:#fff}.btn-quiet svg{color:var(--ink-2)}.btn-danger{background:#b3261c;color:#fff}.btn-lg{min-height:56px;font-size:17px}.btn-block{width:100%}.icon-btn{width:44px;height:44px;display:inline-grid;place-items:center;flex:none;border:0;background:transparent;border-radius:var(--r-ctl);cursor:pointer;color:var(--ink);transition:background-color var(--t-change) var(--ease),transform var(--t-press) var(--ease)}.icon-btn:hover{background:#1f1b160f}.icon-btn:active{transform:scale(.96);background:#1f1b161a}.chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--r-ctl);border:0;background:var(--surface);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2);font-size:15px;font-weight:500;cursor:pointer;white-space:nowrap;flex:none;transition:background-color var(--t-change) var(--ease),color var(--t-change) var(--ease)}.chip:hover{color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);color:#fff;box-shadow:none}.chip-count{font-size:13px;opacity:.6;font-variant-numeric:tabular-nums}.chip-count.is-zero{opacity:.35}.eyebrow{font-size:13px;font-weight:500}.eyebrow-red{color:var(--shu-ink)}.hint{font-size:13px;color:var(--ink-3)}.difficulty{display:inline-flex;align-items:center;gap:8px}.difficulty-marks{display:inline-flex;gap:4px}.difficulty-marks span{width:8px;height:8px;transform:rotate(45deg);border-radius:1px;background:transparent;box-shadow:inset 0 0 0 1.5px currentColor;opacity:.4}.difficulty-marks span.on{background:currentColor;box-shadow:none;opacity:1}.seal{display:inline-grid;place-items:center;flex:none;min-width:32px;height:32px;padding:0 8px;border-radius:6px;background:var(--shu);color:#fff;font-family:var(--font-serif);font-weight:600;font-size:17px;line-height:1;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 2px #ffffff47}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:96px minmax(0,1fr) 96px;align-items:center;min-height:calc(56px + var(--safe-t));padding:var(--safe-t) calc(4px + var(--safe-r)) 0 calc(4px + var(--safe-l));background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar.is-transparent{background:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;position:absolute;left:0;right:0}.topbar-side{display:flex;align-items:center;gap:4px;min-width:0}.topbar-right{justify-content:flex-end}.topbar-title{font-weight:600;font-size:16px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.topbar.is-transparent .icon-btn{background:#fdfbf7e6;box-shadow:var(--shadow-1),inset 0 0 0 1px var(--line)}.home-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(16px + var(--safe-t)) calc(16px + var(--safe-r)) 8px calc(20px + var(--safe-l));max-width:1200px;width:100%;margin:0 auto}.home-head-actions{display:flex;align-items:center;gap:4px;flex:none}.lang-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 12px;border:0;cursor:pointer;border-radius:var(--r-ctl);background:transparent;color:var(--ink-2);font-size:14px;font-weight:500;transition:background-color var(--t-change) var(--ease)}.lang-btn:hover{background:#1f1b160f}.check-on{color:var(--shu-ink)!important}.lang-beta{flex:none!important;font-size:12px;line-height:1;padding:3px 6px;border-radius:999px;color:var(--ink-3);border:1px solid var(--line);font-family:var(--font)}.lang-setting-row{width:100%;border:0;background:transparent;cursor:pointer;text-align:start;justify-content:flex-start}.lang-setting-row .setting-label{flex:1}.lang-setting-row .setting-value-text{color:var(--ink-2)}.lang-setting-row svg{color:var(--ink-3);flex:none}.doc-body{display:contents}.doc-note{margin:12px 4px 0;padding:10px 14px;border-radius:var(--r-sm);background:#1f1b160d;color:var(--ink-2);font-size:14px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-icon{width:40px;height:40px;border-radius:10px;box-shadow:var(--shadow-1)}.brand-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.brand-name{font-weight:600;font-size:18px}.brand-sub{font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-main{max-width:1200px;width:100%;margin:0 auto;padding:8px calc(16px + var(--safe-r)) calc(32px + var(--safe-b)) calc(16px + var(--safe-l));display:flex;flex-direction:column;gap:32px}.hero{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 52%;align-items:center;gap:8px;min-height:220px;padding:20px 8px 20px 20px;border-radius:var(--r-panel);background:var(--raised);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.hero-text{display:flex;flex-direction:column;align-items:flex-start;gap:4px;z-index:1;min-width:0}.hero .eyebrow{color:var(--ink-2)}.hero-title{font-family:var(--font-serif);font-size:36px;line-height:1.2;font-weight:600}.hero-meta{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:14px;color:var(--ink-2);margin-bottom:16px}.hero-meta .difficulty{white-space:nowrap}.hero .difficulty-label{display:none}.hero-art{position:relative;width:100%;aspect-ratio:1;align-self:center;overflow:hidden}.hero-art img,.hero-art .model-art-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto}.hero-art img{width:100%;height:100%;object-fit:contain;transform:none}.hero-art .model-art-placeholder{width:40%;height:auto}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.section-head h2{font-size:20px;font-weight:600}.section-title{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:600;margin-bottom:12px}.section-title svg{color:var(--ink-2)}.search{display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;flex:1 1 200px;max-width:320px;border-radius:var(--r-ctl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink-3);transition:box-shadow var(--t-change) var(--ease)}.search:focus-within{box-shadow:inset 0 0 0 1.5px var(--ink)}.search input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:16px;color:var(--ink);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search input::placeholder{color:var(--ink-3)}.search input::-webkit-search-cancel-button{-webkit-appearance:none}.chips{display:flex;gap:8px;overflow-x:auto;padding:4px;margin:-4px -4px 12px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:40px 16px}.empty-title{font-weight:600;font-size:17px}.empty-hint{color:var(--ink-3);font-size:14px;margin-bottom:8px}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(min-width:640px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}@media(min-width:1000px){.card-grid{gap:20px}}@media(min-width:1200px){.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.model-card{display:flex;flex-direction:column;border-radius:var(--r-card);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-1),inset 0 0 0 1px var(--line);transition:box-shadow var(--t-change) var(--ease),transform var(--t-press) var(--ease)}.model-card:hover{box-shadow:var(--shadow-float),inset 0 0 0 1px var(--line)}.model-card:active{transform:scale(.98)}.model-card-art{position:relative;aspect-ratio:1 / .84;display:grid;place-items:center;overflow:hidden;background:var(--raised)}.model-card-art .model-art{width:88%;height:100%}.model-card-body{display:flex;flex-direction:column;gap:4px;padding:12px 12px 16px;container-type:inline-size}.model-card-title{font-weight:600;font-size:16px;line-height:1.35}.model-card-meta{display:flex;align-items:center;justify-content:space-between;gap:4px 8px;flex-wrap:wrap;font-size:13px;color:var(--ink-3)}.model-card-meta .difficulty{color:var(--ink-2)}.model-card-steps{white-space:nowrap;font-variant-numeric:tabular-nums}.model-card-meta .difficulty{white-space:nowrap}@container (max-width: 200px){.model-card-meta{flex-direction:column;align-items:flex-start;gap:0}}.model-card.is-compact{min-width:0}.model-card.is-compact .model-card-body{padding:8px 12px 12px}.model-card.is-compact .model-card-title{font-size:15px}.model-art{position:relative;display:grid;place-items:center}.model-art img,.model-art .model-art-svg{width:100%;height:100%;object-fit:contain;animation:art-in var(--t-enter) var(--ease) both}.model-art .model-art-svg svg{width:100%;height:100%}.model-art-placeholder{width:48%;aspect-ratio:1;border-radius:4px;transform:rotate(45deg);background:#1f1b160d}@keyframes art-in{0%{opacity:0}to{opacity:1}}.prep-banner{position:relative;display:flex;align-items:center;gap:16px;padding:16px;border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-1),inset 0 0 0 1px var(--line);transition:box-shadow var(--t-change) var(--ease),transform var(--t-press) var(--ease)}.prep-banner:hover{box-shadow:var(--shadow-float),inset 0 0 0 1px var(--line)}.prep-banner:active{transform:scale(.99)}.prep-icon{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:var(--r-ctl);background:var(--raised);color:var(--ink-2)}.prep-text{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.45}.prep-title{font-weight:600;font-size:16px}.prep-sub{font-size:14px;color:var(--ink-3)}.prep-chev{color:var(--ink-3);flex:none}.home-foot{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--ink-3);font-size:13px;padding-top:8px}.home-foot-note{max-width:32em}.home-foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.home-foot-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;color:var(--ink-2);font-weight:500;border-radius:var(--r-sm)}.home-foot-links a:hover{background:#1f1b160d}@media(min-width:760px){.hero{min-height:300px;padding:24px 24px 24px 48px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.hero-art{width:min(100%,360px);justify-self:center}.hero-title{font-size:48px}.home-head{padding-top:calc(24px + var(--safe-t))}.home-main{gap:40px}}@media(min-width:1000px){.hero{min-height:340px;padding:12px 24px 12px 72px;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.hero-text{gap:8px}.hero-title{font-size:56px}.hero-meta{font-size:15px;margin-bottom:24px}.hero-art{position:relative;width:min(100%,600px);aspect-ratio:4 / 3}.hero-art img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;transform:none}}.intro{position:relative}.intro-main{display:flex;flex-direction:column}.intro-art{position:relative;display:grid;place-items:center;overflow:hidden;padding:calc(56px + var(--safe-t)) 24px 8px;min-height:min(56vh,420px);background:var(--raised)}.intro-art .model-art{width:min(86vw,380px);aspect-ratio:1}.intro-info{position:relative;margin-top:-20px;border-radius:var(--r-panel) var(--r-panel) 0 0;background:var(--bg);padding:24px calc(20px + var(--safe-r)) calc(32px + var(--safe-b)) calc(20px + var(--safe-l));display:flex;flex-direction:column;gap:8px;flex:1}.intro-title{font-family:var(--font-serif);font-size:32px;line-height:1.2;font-weight:600}.intro-meta{display:flex;align-items:center;gap:4px 0;flex-wrap:wrap;color:var(--ink-2);font-size:15px}.meta-item{display:inline-flex;align-items:center;white-space:nowrap}.meta-item:not(:last-child):after{content:"·";margin:0 8px;color:var(--ink-3)}.paper-chip{display:inline-flex;align-items:center;gap:8px}.swatch{width:12px;height:12px;border-radius:2px;box-shadow:inset 0 0 0 1px #0000001f;transform:rotate(45deg)}.intro-actions{display:flex;flex-direction:column;gap:12px;margin:16px 0 8px}.intro-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.intro-secondary .btn{padding:8px 12px;font-size:15px;line-height:1.25;text-align:center;min-width:0;white-space:normal}.intro-secondary .btn svg{flex:none}.intro-secondary .btn:only-child{grid-column:1 / -1}.intro-section{margin-top:24px}.more-steps{margin-top:12px}@media(min-width:720px){.intro-main{flex-direction:row;min-height:100dvh}.intro-art{flex:1 1 52%;min-height:100dvh;position:sticky;top:0;height:100dvh;padding:32px}.intro-art .model-art{width:min(46vw,680px)}.intro-info{flex:1 1 48%;max-width:560px;margin:0;border-radius:0;padding:calc(72px + var(--safe-t)) 32px 40px}.intro-title{font-size:40px}}@media(min-width:900px){.intro-art{flex-basis:55%;padding:40px}.intro-info{flex-basis:45%;padding:calc(80px + var(--safe-t)) 48px 48px}.intro-title{font-size:44px}}.link-list{display:flex;flex-direction:column;border-radius:var(--r-card);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}.link-row{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 16px;width:100%;border:0;background:transparent;text-align:left;font-size:16px;cursor:pointer;color:var(--ink);transition:background-color var(--t-change) var(--ease)}.link-row+.link-row{border-top:1px solid var(--line)}.link-row>span:first-of-type{flex:1;min-width:0}.link-row:hover:not(.is-static){background:#1f1b1608}.link-row:active:not(.is-static){background:#1f1b160f}.link-row svg{color:var(--ink-3);flex:none}.link-row svg:first-child{color:var(--ink-2)}.link-row-meta{color:var(--ink-3);font-size:14px;flex:none!important;font-variant-numeric:tabular-nums}.link-row-tag{flex:none!important;font-size:13px;color:var(--ink-3)}.link-row.is-static{cursor:default}.link-row.is-danger{color:#b3261c;font-weight:500;justify-content:center}.link-row.is-danger>span:first-of-type{flex:none}.step-list{list-style:none;margin:0;padding:0}.step-list button{width:100%;border:0;cursor:pointer;text-align:left;color:var(--ink);background:var(--surface);border-radius:var(--r-card);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow var(--t-change) var(--ease),transform var(--t-press) var(--ease)}.step-list button:hover{box-shadow:inset 0 0 0 1px var(--line-2)}.step-list button:active{transform:scale(.99)}.step-list button.is-current{box-shadow:inset 0 0 0 1.5px var(--shu)}.step-list .diagram{display:grid;place-items:center}.step-list .diagram svg{width:100%;height:100%}.step-list .caption{display:flex;gap:12px;align-items:flex-start;line-height:1.55;min-width:0}.step-list .caption-text{min-width:0;overflow-wrap:anywhere}html[lang=ja] .step-list .caption-text{word-break:auto-phrase;line-break:strict;text-wrap:pretty}.step-num{flex:none;min-width:24px;height:24px;padding:0 4px;border-radius:6px;display:inline-grid;place-items:center;background:var(--raised);color:var(--ink-2);font-weight:600;font-size:13px;font-variant-numeric:tabular-nums;margin-top:2px}.step-num.is-done,.step-list .is-current .step-num{background:var(--shu);color:#fff;font-family:var(--font-serif)}.step-list.is-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));gap:12px}.step-list.is-grid button{display:flex;flex-direction:column;height:100%;padding:12px 12px 16px;gap:8px}.step-list.is-grid .diagram{aspect-ratio:1;width:100%;padding:4px}.step-list.is-grid .caption{font-size:14px}@media(min-width:600px){.step-list.is-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.step-list.is-grid .caption{font-size:15px}}.step-list.is-rows{display:flex;flex-direction:column;gap:8px}.step-list.is-rows button{display:flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;min-height:88px}.step-list.is-rows .diagram{width:72px;height:72px;flex:none;border-radius:var(--r-sm);background:var(--bg);padding:4px}.step-list.is-rows .caption{font-size:15px}.fold{height:100dvh;min-height:0;overflow:hidden;background:var(--desk)}.fold .topbar{position:relative;background:transparent;border-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none}.fold-title{font-size:16px;font-weight:600}.fold-seek{padding:0 calc(16px + var(--safe-r)) 0 calc(16px + var(--safe-l))}.fold-body{flex:1;min-height:0;display:flex;flex-direction:column}.stage-wrap{position:relative;flex:1;min-height:180px}.stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none}.paper-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.paper-canvas canvas{display:block}.chip-float{position:absolute;top:8px;right:12px;z-index:2;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:0;border-radius:var(--r-ctl);cursor:pointer;font-size:14px;font-weight:500;background:var(--surface);box-shadow:var(--shadow-float),inset 0 0 0 1px var(--line);color:var(--ink);animation:rise-in var(--t-change) var(--ease) both}.chip-float svg{color:var(--ink-2)}@keyframes rise-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.fold-panel{position:relative;z-index:3;flex:none;background:var(--surface);border-radius:var(--r-panel) var(--r-panel) 0 0;box-shadow:0 -1px 0 var(--line),0 -8px 24px #0000000a;padding:20px calc(16px + var(--safe-r)) calc(16px + var(--safe-b)) calc(16px + var(--safe-l));display:flex;flex-direction:column;gap:12px}.step-card{display:flex;flex-direction:column;gap:8px}.step-head{display:flex;align-items:center;gap:12px}.step-count{font-size:14px;font-weight:500;color:var(--ink-3);font-variant-numeric:tabular-nums}.step-text{font-size:19px;line-height:1.6;font-weight:500;min-height:3.2em;color:var(--ink);text-wrap:pretty}html[lang=en] .step-text{font-size:18px;line-height:1.5;min-height:3em}.fold-scrub{display:flex;align-items:center;gap:12px}.fold-scrub-label{font-size:13px;color:var(--ink-3);white-space:nowrap;min-width:4em}.fold-scrub .slider{flex:1}.controls{display:grid;grid-template-columns:1fr 56px 1.6fr;gap:8px;align-items:center}.ctl{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:56px;border:0;cursor:pointer;border-radius:14px;font-weight:600;font-size:17px;user-select:none;-webkit-user-select:none;transition:transform var(--t-press) var(--ease),background-color var(--t-change) var(--ease),opacity var(--t-change) var(--ease)}.ctl:active:not(:disabled){transform:scale(.97)}.ctl:disabled{opacity:.35;cursor:default}.ctl-secondary{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}.ctl-secondary:hover:not(:disabled){background:#fff}.ctl-round{width:56px;border-radius:999px;background:var(--ink);color:#fff}.ctl-round:hover{background:#33302b}.ctl-primary{background:var(--shu);color:#fff;font-size:18px}.ctl-primary:hover{background:var(--shu-hover)}.done-panel{display:flex;flex-direction:column;gap:16px}.fold.is-done .fold-panel{max-height:58%;overflow-y:auto;overscroll-behavior:contain}.done-head{display:flex;align-items:center;gap:16px}.hanko{width:52px;height:52px;min-width:52px;font-size:28px;border-radius:8px;transform:rotate(-4deg);animation:stamp var(--t-enter) var(--ease) both}@keyframes stamp{0%{opacity:0;transform:rotate(-4deg) scale(1.12)}to{opacity:1;transform:rotate(-4deg) scale(1)}}.done-title{font-family:var(--font-serif);font-size:26px;line-height:1.25;font-weight:600}.done-lead{color:var(--ink-2);font-size:15px}.share-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.share-row .btn{padding:0 12px;font-size:15px}.done-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:0 8px;margin:-4px -10px 0}.done-links .text-btn{justify-content:flex-start}.text-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-2);font:inherit;font-size:15px;font-weight:500;cursor:pointer;text-decoration:none;transition:background-color var(--t-change) var(--ease),color var(--t-change) var(--ease)}.text-btn:hover{background:#1f1b160d;color:var(--ink)}.text-btn:active{background:#1f1b1617}.text-btn svg{color:var(--ink-3);flex:none}.motion-float{position:absolute;right:12px;bottom:16px;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:8px;max-width:calc(100% - 24px)}.motion-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 0 6px;border:0;border-radius:999px;cursor:pointer;background:var(--surface);color:var(--ink);font-size:15px;font-weight:600;box-shadow:var(--shadow-float),inset 0 0 0 1px var(--line);animation:rise-in var(--t-change) var(--ease) both;transition:transform var(--t-press) var(--ease)}.motion-btn:active{transform:scale(.97)}.motion-btn-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:var(--ink);color:#fff;flex:none}.motion-hint{font-size:13px;color:var(--ink-2)}.next-up .section-title{margin-bottom:8px}.next-up-row{--bleed: calc(16px + var(--safe-r));display:grid;grid-auto-flow:column;grid-auto-columns:156px;gap:12px;overflow-x:auto;padding:4px var(--bleed) 8px;margin:-4px calc(-1 * var(--bleed)) 0;scroll-padding-inline:var(--bleed);scroll-snap-type:x proximity;scrollbar-width:none}.next-up-row>*{scroll-snap-align:start;min-width:0}.fold.is-wide .next-up-row{--bleed: 24px;grid-auto-columns:168px}@media(min-width:640px){.fold:not(.is-wide) .next-up-row{grid-auto-columns:176px;gap:16px}}.next-up-row::-webkit-scrollbar{display:none}.fold.is-wide .fold-body{flex-direction:row}.fold.is-wide .fold-panel{width:420px;border-radius:var(--r-panel) 0 0 0;box-shadow:-1px 0 0 var(--line),-8px 0 24px #0000000a;padding:24px 24px calc(16px + var(--safe-b));overflow:hidden}.fold.is-wide.is-done .fold-panel{max-height:none;overflow-y:auto}.fold.is-wide .panel-list{flex:1;min-height:0;overflow-y:auto;margin:4px -24px 0;padding:12px 24px 8px;border-top:1px solid var(--line)}.fold.is-wide.is-done .panel-list{display:none}.fold.is-wide .step-text{font-size:20px}@media(min-width:640px){.fold:not(.is-wide) .fold-panel>*{width:100%;max-width:620px;margin-left:auto;margin-right:auto}.fold:not(.is-wide) .step-text{font-size:21px;min-height:0}.fold-seek{padding-left:24px;padding-right:24px}}@media(max-height:560px){.step-text{min-height:0;font-size:16px}.ctl{height:48px}.controls{grid-template-columns:1fr 48px 1.6fr}.ctl-round{width:48px}}.slider{position:relative;height:44px;display:flex;align-items:center;cursor:pointer;touch-action:none;--f: 0;--pad: 12px;padding:0 var(--pad)}.slider-track{position:relative;height:4px;width:100%;border-radius:999px;background:#1f1b161a;overflow:hidden}.slider-fill{position:absolute;inset:0 auto 0 0;width:calc(var(--f) * 100%);background:var(--ink);border-radius:999px}.slider-thumb{position:absolute;top:50%;left:calc(var(--pad) + var(--f) * (100% - 2 * var(--pad)));width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #0003,inset 0 0 0 1px #0000000f;transition:transform var(--t-press) var(--ease)}.slider.is-dragging .slider-thumb{transform:scale(1.1)}.slider:focus-visible{outline:none}.slider:focus-visible .slider-thumb{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink)}.slider-tick{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--surface)}.slider-seek{height:32px;--pad: 8px}.slider-seek .slider-thumb{width:16px;height:16px;margin:-8px 0 0 -8px;background:var(--ink);box-shadow:0 0 0 2px var(--desk)}.slider-seek .slider-tick{background:var(--desk)}.slider-fold .slider-fill{background:var(--ink-2)}.switch{position:relative;width:52px;height:32px;flex:none;border:0;border-radius:999px;cursor:pointer;padding:0;background:#1f1b1629;transition:background-color var(--t-change) var(--ease)}.switch:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.switch[aria-checked=true]{background:var(--ink)}.switch-knob{position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #0003;transition:transform var(--t-change) var(--ease)}.switch[aria-checked=true] .switch-knob{transform:translate(20px)}.segmented{position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));flex:none;padding:4px;border-radius:var(--r-ctl);background:#1f1b160f;min-width:0}.segmented button{position:relative;z-index:1;min-height:36px;min-width:44px;padding:0 12px;border:0;background:transparent;border-radius:var(--r-sm);font-size:15px;font-weight:500;color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:color var(--t-change) var(--ease)}.segmented button[aria-checked=true]{color:var(--ink)}.segmented button:before{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}.segmented-pill{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / var(--n));transform:translate(calc(var(--i) * 100%));border-radius:var(--r-sm);background:#fff;box-shadow:0 1px 2px #0000001a;transition:transform var(--t-change) var(--ease)}.sheet-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;justify-content:center}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#19140e52;opacity:0;transition:opacity var(--t-enter) var(--ease)}.sheet{position:relative;width:100%;max-width:640px;max-height:calc(100dvh - 48px - var(--safe-t));display:flex;flex-direction:column;background:var(--bg);border-radius:var(--r-panel) var(--r-panel) 0 0;box-shadow:0 -8px 32px #0000001f;transform:translateY(100%);transition:transform var(--t-enter) var(--ease)}.sheet-tall{height:calc(100dvh - 40px - var(--safe-t))}.sheet-root.is-open .sheet-backdrop{opacity:1}.sheet-root.is-open .sheet{transform:none}.sheet-head{position:relative;display:flex;align-items:center;gap:8px;padding:20px 8px 8px 20px;touch-action:none;flex:none}.sheet-grip{position:absolute;top:8px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:999px;background:#1f1b162e}.sheet-head h2{flex:1;font-size:17px;font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:4px calc(16px + var(--safe-r)) calc(24px + var(--safe-b)) calc(16px + var(--safe-l));display:flex;flex-direction:column;gap:16px}.sheet-lead{color:var(--ink-2);font-size:15px}.sheet-group-title{font-size:13px;font-weight:500;color:var(--ink-3);margin:0 0 8px 4px}@media(hover:none){.hint-keys{display:none}}@media(min-width:760px)and (min-height:600px){.sheet-root{align-items:center;padding:24px}.sheet{border-radius:var(--r-panel);transform:translateY(8px);opacity:0;transition:transform var(--t-enter) var(--ease),opacity var(--t-change) var(--ease);max-height:calc(100dvh - 48px)}.sheet-root.is-open .sheet{opacity:1}.sheet-tall{height:min(860px,calc(100dvh - 48px));max-width:880px}.sheet-grip{display:none}}.settings-group{display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r-card);box-shadow:inset 0 0 0 1px var(--line)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:12px 16px}.setting-row+.setting-row{border-top:1px solid var(--line)}.setting-row-stack{flex-direction:column;align-items:stretch;gap:4px;padding-top:16px}.setting-row-wrap{flex-wrap:wrap}.setting-row.is-toggle{cursor:pointer}.setting-row.is-disabled{opacity:.45;pointer-events:none}.setting-label{font-size:16px;font-weight:500;display:flex;flex-direction:column;min-width:0}.setting-row-stack .setting-label{flex-direction:row;justify-content:space-between}.setting-value{color:var(--ink-3);font-variant-numeric:tabular-nums}.setting-sub{font-size:13px;font-weight:400;color:var(--ink-3)}.group-title{font-size:13px;font-weight:500;color:var(--ink-3);margin:24px 0 8px 4px}.paper-picker{display:flex;flex-direction:column;gap:4px}.swatches{display:flex;flex-wrap:wrap;gap:4px;margin:4px -4px 0}.swatch-btn{position:relative;width:44px;height:44px;border:0;padding:0;cursor:pointer;background:transparent;display:grid;place-items:center;border-radius:var(--r-ctl);transition:background-color var(--t-change) var(--ease)}.swatch-btn:hover{background:#1f1b160d}.swatch-paper{width:28px;height:28px;border-radius:3px;transform:rotate(45deg);background:linear-gradient(135deg,var(--c) 50%,color-mix(in srgb,var(--c) 86%,black) 50%);box-shadow:0 1px 2px #00000026}.swatch-btn.is-model .swatch-paper{background:conic-gradient(from 45deg,#d9483b 0,#d9483b 25%,#2f6db5 0,#2f6db5 50%,#3f9b6c 0,#3f9b6c 75%,#e9a83a 0)}.swatch-btn[aria-checked=true]{box-shadow:inset 0 0 0 1.5px var(--ink)}.swatch-check{position:absolute;color:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}.swatch-name{font-size:13px;color:var(--ink-3)}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.page{background:var(--bg)}.page-main{width:100%;max-width:680px;margin:0 auto;padding:16px calc(16px + var(--safe-r)) calc(32px + var(--safe-b)) calc(16px + var(--safe-l));display:flex;flex-direction:column}.page-lead{color:var(--ink-2);margin:4px 4px 16px}.tutorial-list{display:flex;flex-direction:column;gap:12px}.tutorial-card{display:flex;align-items:center;gap:16px;padding:12px 16px 12px 12px;border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-1),inset 0 0 0 1px var(--line);transition:box-shadow var(--t-change) var(--ease),transform var(--t-press) var(--ease)}.tutorial-card:hover{box-shadow:var(--shadow-float),inset 0 0 0 1px var(--line)}.tutorial-card:active{transform:scale(.99)}.tutorial-art{position:relative;width:84px;height:84px;flex:none;border-radius:var(--r-sm);overflow:hidden;display:grid;place-items:center;background:var(--raised)}.tutorial-art .tutorial-diagram{width:80%;height:80%;display:grid;place-items:center;position:relative}.tutorial-diagram svg{width:100%;height:100%}.tutorial-text{flex:1;display:flex;flex-direction:column;min-width:0}.tutorial-title{font-weight:600;font-size:16px;line-height:1.45}.tutorial-meta{font-size:13px;color:var(--ink-3)}.chev{color:var(--ink-3);flex:none}.doc-main{gap:16px}.doc-brand{display:flex;align-items:center;gap:16px;padding:8px 4px}.doc-brand img{border-radius:16px;box-shadow:var(--shadow-1)}.doc-brand-name{font-size:22px;font-weight:600}.doc-brand-sub{color:var(--ink-3);font-size:14px;font-variant-numeric:tabular-nums}.doc-title{font-family:var(--font-serif);font-size:28px;font-weight:600;margin:4px 4px 0}.doc-section{background:var(--surface);border-radius:var(--r-card);padding:16px 20px;box-shadow:inset 0 0 0 1px var(--line)}.doc-section h2{font-size:16px;font-weight:600;margin-bottom:4px;font-feature-settings:normal}.doc-section p{color:var(--ink-2);font-size:15px;line-height:1.75}.doc-section a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2);overflow-wrap:anywhere}.doc-updated{color:var(--ink-3);font-size:13px;text-align:right}.doc-ai{text-align:center;font-size:13px;color:var(--ink-3)}.print-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-label{font-weight:500}.print-preview{display:grid;place-items:center;padding:16px;border-radius:var(--r-card);background:var(--raised)}.print-page{width:min(100%,300px);background:#fff;box-shadow:var(--shadow-float)}.print-preview.is-a4 .print-page{aspect-ratio:210 / 297}.print-preview.is-letter .print-page{aspect-ratio:215.9 / 279.4}.print-page svg{display:block;width:100%;height:100%}.ad-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;display:grid;place-items:center;padding:calc(16px + var(--safe-t)) 16px calc(16px + var(--safe-b))}.ad-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#14100c8f;animation:fade-in var(--t-change) var(--ease) both}.ad-card{position:relative;width:100%;max-width:440px;max-height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:12px 12px 16px;border-radius:var(--r-panel);background:var(--surface);color:var(--ink);box-shadow:0 16px 48px #00000029,inset 0 0 0 1px var(--line);animation:rise-in var(--t-enter) var(--ease) both}.ad-card:focus-visible{outline:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.ad-head{display:flex;align-items:center;justify-content:space-between;padding-left:4px}.ad-label{font-size:12px;font-weight:500;color:var(--ink-2);border-radius:4px;padding:0 8px;box-shadow:inset 0 0 0 1px var(--line-2)}.ad-close{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:var(--r-ctl);cursor:pointer;background:transparent;color:var(--ink);transition:background-color var(--t-change) var(--ease)}.ad-close:hover{background:#1f1b160f}.ad-media{width:100%;border-radius:var(--r-sm);overflow:hidden;background:var(--raised);box-shadow:inset 0 0 0 1px var(--line)}.ad-media video,.ad-media img{width:100%;height:100%;object-fit:cover;display:block}.ad-text{padding:0 4px;display:flex;flex-direction:column;gap:8px}.ad-text h2{font-size:19px;line-height:1.4;font-weight:600}.ad-text p{font-size:15px;line-height:1.6;color:var(--ink-2)}.credits{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;margin-top:24px}.credits-lab{font-weight:600;font-size:14px;color:var(--ink-2);min-height:44px;display:inline-flex;align-items:center;padding:0 12px;border-radius:var(--r-sm)}.credits-lab:hover{background:#1f1b160d}.credits-by,.credits-copy{font-size:12px;color:var(--ink-3)}.share-preview{font-size:15px;color:var(--ink-2);background:var(--surface);border-radius:var(--r-ctl);padding:12px 16px;box-shadow:inset 0 0 0 1px var(--line)}.share-url{font-size:13px;color:var(--ink-3);word-break:break-all}.toast-host{position:fixed;left:0;right:0;bottom:calc(24px + var(--safe-b));z-index:300;display:flex;justify-content:center;pointer-events:none;padding:0 16px}.toast{background:#1f1b16f0;color:#fff;font-size:15px;font-weight:500;padding:12px 20px;border-radius:var(--r-ctl);box-shadow:var(--shadow-float);animation:rise-in var(--t-change) var(--ease) both}.state-screen{align-items:center;justify-content:center;gap:16px;padding:32px;text-align:center}.state-art img{border-radius:20px;box-shadow:var(--shadow-1)}.state-screen h1{font-family:var(--font-serif);font-size:24px;font-weight:600}.state-screen p{color:var(--ink-2);max-width:30em}.state-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.fold-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:none;visibility:hidden}.fold-overlay.is-active{visibility:visible;pointer-events:auto}.fold-sheet{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--surface);box-shadow:0 0 0 1px var(--line),0 8px 24px #0000000f}.fold-pattern{position:absolute;top:0;right:0;bottom:0;left:0;color:#1f1b160a;background-color:currentColor;-webkit-mask-image:var(--asanoha);mask-image:var(--asanoha);-webkit-mask-size:64px auto;mask-size:64px auto}.fold-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0}html.reduce-motion *,html.reduce-motion *:before,html.reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
