:root{--color-paper-25: #FDFCFA;--color-paper-50: #FBF9F6;--color-paper-100: #F7F5F0;--color-paper-200: #EFEBE3;--color-paper-300: #E6E1D6;--color-paper-400: #D6CFC0;--color-paper-500: #BFB6A3;--color-paper-600: #A69B85;--color-paper-700: #8C877A;--color-paper-800: #6B6659;--color-paper-900: #3D3A33;--color-paper-950: #1B1A17;--color-neutral-25: #FDFDFC;--color-neutral-50: #F8F7F5;--color-neutral-100: #F1EFEB;--color-neutral-200: #E4E1DA;--color-neutral-300: #CFCBC1;--color-neutral-400: #A5A096;--color-neutral-500: #8C877A;--color-neutral-600: #6E6A60;--color-neutral-700: #5B584F;--color-neutral-800: #3D3B35;--color-neutral-900: #262521;--color-neutral-950: #1B1A17;--color-green-25: #F5FAF7;--color-green-50: #E8F0EC;--color-green-100: #D3E4DA;--color-green-200: #A9C9B8;--color-green-300: #7AAB94;--color-green-400: #4E8B72;--color-green-500: #2E735A;--color-green-600: #1F5E4A;--color-green-700: #1A4E3E;--color-green-800: #174536;--color-green-900: #12362A;--color-green-950: #0C261E;--color-warm-25: #FEFBF7;--color-warm-50: #FAF0E4;--color-warm-100: #F2DFC7;--color-warm-200: #E5C39B;--color-warm-300: #D3A26C;--color-warm-400: #C07E42;--color-warm-500: #AC6524;--color-warm-600: #9E5413;--color-warm-700: #7E400E;--color-warm-800: #6A370D;--color-warm-900: #572E0E;--color-warm-950: #3A1E08;--color-success-50: #EAF2ED;--color-success-600: #2F6B4F;--color-success-700: #275A42;--color-warning-50: #FAF3E3;--color-warning-600: #8A5E0F;--color-warning-700: #744F0C;--color-error-50: #FAEEEC;--color-error-600: #9C3A2E;--color-error-700: #853127;--color-white: #FFFFFF;--color-black: #000000;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-display: "Songti SC", "Source Han Serif SC", "Noto Serif SC", Georgia, "SimSun", serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--leading-body: 28px;--leading-tight: 1.3;--leading-normal: 1.7;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 14px;--spacing-4: 20px;--spacing-5: 32px;--spacing-6: 52px;--spacing-7: 80px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 999px;--duration-fast: .15s;--ease-out: ease}:root{--color-text-primary: var(--color-paper-950);--color-text-secondary: var(--color-neutral-700);--color-text-tertiary: var(--color-neutral-500);--color-text-quaternary: var(--color-paper-600);--color-text-placeholder: var(--color-neutral-400);--color-text-white: var(--color-white);--color-text-brand-primary: var(--color-green-600);--color-text-brand-secondary: var(--color-green-500);--color-text-brand-on: var(--color-white);--color-text-warm-primary: var(--color-warm-600);--color-text-warm-secondary: var(--color-warm-700);--color-text-success: var(--color-success-600);--color-text-warning: var(--color-warning-600);--color-text-error: var(--color-error-600);--color-bg-primary: var(--color-white);--color-bg-secondary: var(--color-paper-100);--color-bg-tertiary: var(--color-paper-200);--color-bg-quaternary: var(--color-paper-300);--color-bg-primary_hover: var(--color-paper-50);--color-bg-secondary_hover: var(--color-paper-200);--color-bg-brand-primary: var(--color-green-600);--color-bg-brand-solid: var(--color-green-700);--color-bg-brand-subtle: var(--color-green-50);--color-bg-warm-primary: var(--color-warm-600);--color-bg-warm-solid: var(--color-warm-700);--color-bg-warm-subtle: var(--color-warm-50);--color-bg-success-subtle:var(--color-success-50);--color-bg-warning-subtle:var(--color-warning-50);--color-bg-error-subtle: var(--color-error-50);--color-bg-overlay: var(--color-paper-950);--color-border-primary: var(--color-neutral-300);--color-border-secondary: var(--color-paper-300);--color-border-tertiary: var(--color-paper-200);--color-border-strong: var(--color-paper-500);--color-border-brand: var(--color-green-600);--color-border-warm: var(--color-warm-600);--color-border-error: var(--color-error-600);--color-fg-primary: var(--color-paper-950);--color-fg-secondary: var(--color-neutral-600);--color-fg-tertiary: var(--color-neutral-400);--color-fg-brand: var(--color-green-600);--color-fg-warm: var(--color-warm-600);--color-fg-success: var(--color-success-600);--color-fg-warning: var(--color-warning-600);--color-fg-error: var(--color-error-600);--color-fg-white: var(--color-white);--width-article: 680px;--width-page: 1080px}:root{--paper: var(--color-bg-secondary);--paper-2: var(--color-bg-tertiary);--card: var(--color-bg-primary);--rule: var(--color-border-secondary);--rule-2: var(--color-border-primary);--rule-3: var(--color-border-strong);--ink: var(--color-text-primary);--ink-2: var(--color-text-secondary);--ink-3: var(--color-text-tertiary);--green: var(--color-text-brand-primary);--green-l: var(--color-bg-brand-subtle);--green-d: var(--color-green-700);--warm: var(--color-text-warm-primary);--warm-l: var(--color-bg-warm-subtle);--warm-d: var(--color-warm-700);--ok: var(--color-text-success);--ok-l: var(--color-bg-success-subtle);--warn: var(--color-text-warning);--warn-l: var(--color-bg-warning-subtle);--risk: var(--color-text-error);--risk-l: var(--color-bg-error-subtle);--sans: var(--font-body);--serif: var(--font-display);--mono: var(--font-mono);--r-sm: var(--radius-xs);--r: var(--radius-md);--r-lg: var(--radius-lg);--r-pill: var(--radius-full);--s1: var(--spacing-1);--s2: var(--spacing-2);--s3: var(--spacing-3);--s4: var(--spacing-4);--s5: var(--spacing-5);--s6: var(--spacing-6);--s7: var(--spacing-7);--col-article: var(--width-article);--col-page: var(--width-page);--lh: var(--leading-body)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;color:var(--color-text-primary);background-color:var(--color-bg-secondary);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;font-variant-ligatures:contextual;font-kerning:normal;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--leading-body) - 1px),rgba(191,182,163,.16) calc(var(--leading-body) - 1px),rgba(191,182,163,.16) var(--leading-body));display:flex;flex-direction:column;min-height:100vh}main{flex:1;padding:var(--spacing-5) 0 var(--spacing-7)}.wrap{width:100%;max-width:var(--width-page);margin:0 auto;padding:0 24px}.wrap-read{max-width:var(--width-article)}.card,.pcard,.rpt,.qa,.ask,.grp,.ledger,.namecard,.demo{background:var(--color-bg-primary)}a{color:var(--color-text-brand-primary);text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:var(--text-2xl);line-height:var(--leading-tight)}h2{font-size:var(--text-lg);line-height:var(--leading-body)}h3{font-size:var(--text-base);line-height:var(--leading-body)}p{margin:0 0 var(--spacing-3)}.num,.mono,time,.cap{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.site-head{border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-secondary)}.site-head .inner{display:flex;align-items:center;gap:var(--spacing-4);height:58px}.brand{display:flex;align-items:center;gap:9px;color:var(--color-text-primary);font-weight:600;font-size:var(--text-base)}.brand .mark{width:9px;height:9px;background:var(--color-bg-brand-primary);flex-shrink:0}.brand .brand-name{letter-spacing:.06em}.brand .brand-tag{font-family:var(--font-mono);font-size:.7rem;font-weight:400;color:var(--color-text-tertiary);padding-left:9px;border-left:1px solid var(--color-border-primary)}@media(max-width:520px){.brand .brand-tag{display:none}}.nav{display:flex;gap:2px;margin-left:auto;flex-wrap:wrap}.nav a{color:var(--color-text-secondary);font-size:var(--text-md);padding:5px 12px;border-bottom:2px solid transparent;transition:color var(--duration-fast) var(--ease-out)}.nav a:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.nav a[aria-current=page]{color:var(--color-text-brand-primary);border-bottom-color:var(--color-border-brand);font-weight:600}.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--color-border-primary);border-radius:var(--radius-xs);color:var(--color-text-primary);font:inherit;font-size:var(--text-md);padding:5px 11px;cursor:pointer}@media(max-width:760px){.site-head .inner{height:auto;padding:11px 0;flex-wrap:wrap}.nav-toggle{display:block}.nav{display:none;width:100%;margin-left:0;padding-top:var(--spacing-2)}.nav.open{display:flex}}.rule-double{border-top:3px double var(--color-border-strong);margin:var(--spacing-6) 0}.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.sec-head .t{font-size:var(--text-lg);font-weight:600}.sec-head .more{font-size:var(--text-md);color:var(--color-text-tertiary)}.pcard{display:block;border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);border-left:3px solid var(--color-border-brand);padding:var(--spacing-4) var(--spacing-4) calc(var(--spacing-4) - 4px);color:inherit;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.pcard.warm{border-left-color:var(--color-border-warm)}.pcard:hover{border-color:var(--color-border-primary);border-left-color:var(--color-green-700);transform:translate(2px)}.pcard.warm:hover{border-left-color:var(--color-warm-700)}.pcard .top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-2);margin-bottom:var(--spacing-1)}.pcard .cat{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.06em;color:var(--color-text-brand-primary)}.pcard.warm .cat{color:var(--color-text-warm-primary)}.pcard time{font-size:.72rem;color:var(--color-text-tertiary)}.pcard h3{margin-bottom:var(--spacing-1)}.pcard p{margin:0;font-size:var(--text-md);color:var(--color-text-secondary);line-height:var(--leading-normal)}.pcard .foot{margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:1px dashed var(--color-border-secondary);display:flex;gap:var(--spacing-2);align-items:center;font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-tertiary)}.pcard .foot .dot{width:3px;height:3px;background:var(--color-border-strong);border-radius:50%;flex-shrink:0}.grid{display:grid;gap:var(--spacing-3)}.g2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.g3{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.plist{list-style:none;margin:0;padding:0;border-top:1px solid var(--color-border-secondary)}.plist li{border-bottom:1px solid var(--color-border-secondary)}.plist a{display:block;padding:var(--spacing-3) var(--spacing-2);color:inherit;transition:background var(--duration-fast) var(--ease-out)}.plist a:hover{background:var(--color-bg-primary)}.plist .meta{display:flex;gap:var(--spacing-2);align-items:baseline;font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-tertiary);margin-bottom:2px}.plist .meta .c{color:var(--color-text-brand-primary);font-weight:500}.plist .meta .c.warm{color:var(--color-text-warm-primary)}.plist .ttl{font-size:var(--text-base);font-weight:600;margin-bottom:2px}.plist .d{font-size:var(--text-md);color:var(--color-text-secondary);line-height:var(--leading-normal)}.tag{display:inline-block;font-size:.72rem;font-weight:500;padding:2px 10px;border-radius:var(--radius-full);background:var(--color-bg-tertiary);color:var(--color-text-tertiary)}.tag.cat{font-weight:600;background:var(--color-bg-brand-subtle);color:var(--color-text-brand-primary)}.tag.cat.warm{background:var(--color-bg-warm-subtle);color:var(--color-text-warm-primary)}.tag.ok{background:var(--color-bg-success-subtle);color:var(--color-text-success);font-weight:600}.tag.warn{background:var(--color-bg-warning-subtle);color:var(--color-text-warning);font-weight:600}.tag.risk{background:var(--color-bg-error-subtle);color:var(--color-text-error);font-weight:600}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:var(--radius-xs);border:1px solid var(--color-border-primary);background:var(--color-bg-primary);color:var(--color-text-primary);font:inherit;font-size:var(--text-md);font-weight:500;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.btn:hover{background:var(--color-bg-primary_hover);border-color:var(--color-border-strong)}.btn.primary{background:var(--color-bg-brand-primary);border-color:var(--color-bg-brand-primary);color:var(--color-text-brand-on)}.btn.primary:hover{background:var(--color-bg-brand-solid);border-color:var(--color-bg-brand-solid)}.btn.ghost{background:none;border-color:transparent;color:var(--color-text-brand-primary);padding-left:6px;padding-right:6px}.btn.ghost:hover{background:var(--color-bg-brand-subtle)}.btn.warm{background:var(--color-bg-warm-primary);border-color:var(--color-bg-warm-primary);color:var(--color-text-white)}.btn.warm:hover{background:var(--color-bg-warm-solid);border-color:var(--color-bg-warm-solid)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.xs{padding:5px 11px;font-size:var(--text-xs)}.btn.sm{padding:7px 14px;font-size:var(--text-sm)}.btn.lg{padding:11px 22px;font-size:var(--text-base)}.hand{border-left:2px solid var(--color-border-warm);padding:2px 0 2px 16px;margin:var(--spacing-4) 0;font-family:var(--font-display);font-size:1rem;line-height:1.95;color:var(--color-text-warm-secondary)}.prose .hand{margin:var(--spacing-4) 0}.ledger{border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);padding:var(--spacing-4) var(--spacing-4) var(--spacing-3);max-width:420px;margin:var(--spacing-4) 0}.ledger .cap{font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-tertiary);letter-spacing:.06em;margin-bottom:var(--spacing-3)}.ledger .row{display:flex;justify-content:space-between;gap:var(--spacing-4);font-family:var(--font-mono);font-size:var(--text-md);line-height:2.15;border-bottom:1px dashed var(--color-border-secondary)}.ledger .row:last-child{border-bottom:none}.ledger .row.sum{border-top:1px solid var(--color-border-primary);border-bottom:none;padding-top:6px;margin-top:4px;font-weight:600;color:var(--color-text-brand-primary)}.ledger .row .k{color:var(--color-text-secondary)}.ledger .row.sum .k{color:var(--color-text-brand-primary)}.rpt{border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);overflow:hidden;max-width:400px}.rpt .cap{background:var(--color-bg-overlay);color:var(--color-paper-100);padding:9px 16px;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;display:flex;justify-content:space-between;gap:var(--spacing-3)}.rpt .body{padding:var(--spacing-4)}.rpt .score{display:flex;align-items:baseline;gap:9px}.rpt .score .v{font-family:var(--font-mono);font-size:2.6rem;font-weight:600;line-height:1;letter-spacing:-.03em}.rpt .score .u{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-tertiary)}.rpt .kv{display:grid;grid-template-columns:auto 1fr;gap:4px var(--spacing-3);font-size:var(--text-sm);border-top:1px solid var(--color-border-secondary);padding-top:var(--spacing-3);margin:var(--spacing-3) 0 0}.rpt .kv dt{color:var(--color-text-tertiary)}.rpt .kv dd{margin:0;font-family:var(--font-mono);font-size:.8rem;text-align:right}.rpt .ft{border-top:1px dashed var(--color-border-secondary);padding:10px 16px;font-size:.7rem;color:var(--color-text-tertiary);display:flex;justify-content:space-between;gap:var(--spacing-2)}.ask{border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);padding:var(--spacing-4)}.ask input[type=text],.ask textarea{width:100%;padding:9px 12px;border:1px solid var(--color-border-primary);border-radius:var(--radius-xs);font:inherit;font-size:var(--text-base);background:var(--color-bg-secondary);color:var(--color-text-primary)}.ask textarea{min-height:80px;resize:vertical;margin-top:var(--spacing-2)}.ask input:focus,.ask textarea:focus{outline:none;border-color:var(--color-border-brand);box-shadow:0 0 0 3px var(--color-bg-brand-subtle)}.ask .anon{display:flex;align-items:center;gap:7px;font-size:var(--text-md);color:var(--color-text-secondary);margin:var(--spacing-3) 0}.ask input[type=checkbox]{accent-color:var(--color-bg-brand-primary)}.qa{border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--spacing-3)}.qa .q{padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-secondary)}.qa .q .who{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-tertiary)}.qa .q .tx{font-size:var(--text-base);font-weight:600;margin-top:3px}.qa .a{padding:var(--spacing-3) var(--spacing-4)}.qa .a .who{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-brand-primary)}.qa .a .tx{font-size:var(--text-md);color:var(--color-text-secondary);line-height:var(--leading-normal);margin-top:4px}.grp{border:1px solid var(--color-border-secondary);border-left:3px solid var(--color-border-warm);border-radius:var(--radius-md);padding:var(--spacing-4);display:flex;gap:var(--spacing-4);align-items:center;flex-wrap:wrap}.grp .tx{flex:1;min-width:210px}.grp .nm{font-weight:600;font-size:var(--text-base);margin-bottom:var(--spacing-1)}.grp .note{font-size:var(--text-md);color:var(--color-text-secondary);line-height:1.75}.grp .qr{width:92px;height:92px;border:1px solid var(--color-border-secondary);border-radius:var(--radius-xs);background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.62rem;color:var(--color-text-tertiary);text-align:center;flex-shrink:0;overflow:hidden}.grp .qr img{width:100%;height:100%;object-fit:contain}.tl{border-left:1px solid var(--color-border-primary);padding-left:var(--spacing-4);margin:var(--spacing-4) 0}.tl .it{position:relative;padding-bottom:var(--spacing-4)}.tl .it:before{content:"";position:absolute;left:calc(-1 * var(--spacing-4) - 5px);top:8px;width:9px;height:9px;border-radius:50%;background:var(--color-bg-secondary);border:2px solid var(--color-border-strong)}.tl .it.on:before{border-color:var(--color-border-brand);background:var(--color-bg-brand-primary)}.tl .d{font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-tertiary)}.tl .t{font-size:var(--text-md);font-weight:600;margin:2px 0}.tl .x{font-size:var(--text-md);color:var(--color-text-secondary);line-height:1.75}.stairs{border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);overflow:hidden}.stair{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-secondary)}.stair:last-child{border-bottom:none}.stair .lv{font-family:var(--font-mono);font-size:.72rem;color:var(--color-fg-white);background:var(--color-fg-tertiary);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stair.a .lv{background:var(--color-fg-brand)}.stair.b .lv{background:var(--color-fg-warm)}.stair .tx{flex:1;font-size:var(--text-md)}.stair .cost{font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-tertiary);flex-shrink:0}.poll{list-style:none;margin:0;padding:0}.poll li{margin-bottom:var(--spacing-2)}.poll button{width:100%;text-align:left;position:relative;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-xs);padding:10px 13px;font:inherit;font-size:var(--text-md);cursor:pointer;color:var(--color-text-primary);overflow:hidden;transition:border-color var(--duration-fast) var(--ease-out)}.poll button:hover{border-color:var(--color-border-brand)}.poll button .fill{position:absolute;inset:0;background:var(--color-bg-brand-subtle);width:0;transition:width .3s var(--ease-out)}.poll button .row{position:relative;display:flex;justify-content:space-between;gap:var(--spacing-3)}.poll button .pct{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-brand-primary);font-weight:600}.poll .done button{cursor:default}.poll .done button:hover{border-color:var(--color-border-primary)}.note{border-left:3px solid var(--color-border-brand);background:var(--color-bg-brand-subtle);padding:var(--spacing-3) var(--spacing-4);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:var(--text-md);color:var(--color-text-secondary);margin:var(--spacing-4) 0}.note.warm{border-left-color:var(--color-border-warm);background:var(--color-bg-warm-subtle)}.note.risk{border-left-color:var(--color-border-error);background:var(--color-bg-error-subtle)}.note b{color:var(--color-text-brand-primary)}.note.warm b{color:var(--color-text-warm-primary)}.note.risk b{color:var(--color-text-error)}.note p:last-child{margin-bottom:0}.prose{font-size:var(--text-base);line-height:var(--leading-body)}.prose h2{margin:var(--spacing-5) 0 var(--spacing-2);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-border-secondary)}.prose h3{margin:var(--spacing-4) 0 var(--spacing-2)}.prose p{margin:0 0 var(--spacing-3)}.prose ul,.prose ol{margin:0 0 var(--spacing-3);padding-left:20px}.prose li{margin-bottom:6px}.prose blockquote{margin:var(--spacing-4) 0;border-left:2px solid var(--color-border-strong);padding-left:16px;color:var(--color-text-secondary)}.prose code{font-family:var(--font-mono);font-size:.85em;background:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);border-radius:3px;padding:1px 5px}.prose pre{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);padding:var(--spacing-3) var(--spacing-4);overflow-x:auto;font-size:var(--text-sm);line-height:1.7;margin:0 0 var(--spacing-4)}.prose pre code{background:none;border:none;padding:0}.prose table{width:100%;border-collapse:collapse;font-size:var(--text-md);margin:0 0 var(--spacing-4)}.prose th,.prose td{text-align:left;padding:8px 11px;border-bottom:1px solid var(--color-border-secondary)}.prose th{font-family:var(--font-mono);font-size:.74rem;color:var(--color-text-tertiary);font-weight:600;letter-spacing:.04em;border-bottom:1px solid var(--color-border-strong)}.prose td.num{text-align:right}.prose img{max-width:100%;height:auto;border:1px solid var(--color-border-secondary);border-radius:var(--radius-md)}.prose hr{border:none;border-top:3px double var(--color-border-strong);margin:var(--spacing-5) 0}.toc{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);padding:var(--spacing-3) var(--spacing-4);font-size:var(--text-md)}.toc .t{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-tertiary);letter-spacing:.06em;margin-bottom:var(--spacing-2)}.toc ul{list-style:none;margin:0;padding:0}.toc li{margin-bottom:5px;line-height:1.5}.toc li.sub{padding-left:12px;font-size:.94em}.toc a{color:var(--color-text-secondary)}.toc a:hover{color:var(--color-text-brand-primary)}.article-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--spacing-5);align-items:start}@media(min-width:1180px){.article-grid{grid-template-columns:212px minmax(0,1fr)}.toc{position:sticky;top:78px}}@media(max-width:1179px){.toc{display:none}}.crumbs{font-family:var(--font-mono);font-size:.74rem;color:var(--color-text-tertiary);margin-bottom:var(--spacing-4)}.crumbs a{color:var(--color-text-tertiary)}.crumbs a:hover{color:var(--color-text-brand-primary)}.meta-line{display:flex;flex-wrap:wrap;gap:var(--spacing-2);align-items:center;font-family:var(--font-mono);font-size:.74rem;color:var(--color-text-tertiary)}.hero{padding-block:var(--spacing-5) var(--spacing-4)}.brandmark{font-family:var(--font-display);font-size:1.05rem;font-weight:600;letter-spacing:.34em;text-indent:.34em;color:var(--color-text-brand-primary);margin-bottom:var(--spacing-3)}.hero h1{font-size:clamp(1.5rem,4.4vw,2.1rem);max-width:22ch;margin-bottom:var(--spacing-3)}.hero .sub{font-size:1rem;color:var(--color-text-secondary);max-width:60ch;margin-bottom:var(--spacing-4)}.hero .acts{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:var(--spacing-4)}.namecard{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);padding:var(--spacing-4) var(--spacing-4) var(--spacing-3)}.namecard .chars{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-3);padding-bottom:var(--spacing-3);border-bottom:1px dashed var(--color-border-secondary)}.namecard .ch{display:flex;align-items:baseline;gap:10px}.namecard .ch .c{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--color-text-warm-primary);line-height:1;flex-shrink:0}.namecard .ch .m{font-size:var(--text-md);color:var(--color-text-secondary);line-height:1.6}.namecard .src{font-family:var(--font-display);font-size:var(--text-md);color:var(--color-text-tertiary);margin:var(--spacing-3) 0 var(--spacing-1)}.namecard .nt{font-size:var(--text-md);color:var(--color-text-tertiary);margin:0}.figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--spacing-3);border-top:1px solid var(--color-border-secondary);padding-top:var(--spacing-4);max-width:560px}.figures .f .v{font-family:var(--font-mono);font-size:1.5rem;font-weight:600;line-height:1.2}.figures .f .k{font-size:var(--text-sm);color:var(--color-text-tertiary)}.site-foot{border-top:3px double var(--color-border-strong);padding:var(--spacing-5) 0 var(--spacing-6);font-size:var(--text-md);color:var(--color-text-tertiary);background:var(--color-bg-secondary)}.site-foot .links{display:flex;gap:var(--spacing-4);flex-wrap:wrap;margin-bottom:var(--spacing-3)}.site-foot a{color:var(--color-text-secondary)}.foot-icp{display:flex;gap:var(--spacing-3);flex-wrap:wrap;margin-top:var(--spacing-2)}:focus-visible{outline:2px solid var(--color-border-brand);outline-offset:2px;border-radius:2px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:640px){:root{--spacing-5:24px;--spacing-6:36px;--spacing-7:52px}main{padding:var(--spacing-4) 0 var(--spacing-6)}.wrap{padding:0 18px}.rule-double{margin:var(--spacing-5) 0}.site-head{position:sticky;top:0;z-index:50;background:#f7f5f0f0;backdrop-filter:saturate(180%) blur(8px);-webkit-backdrop-filter:saturate(180%) blur(8px)}.site-head .inner{padding-block:8px;padding-inline:18px;min-height:52px}.brand{min-height:44px;display:flex;align-items:center}.nav-toggle{min-height:44px;padding:10px 16px;font-size:.9375rem}.nav{display:none;flex-direction:column;gap:0;width:100%;padding:6px 0 10px;margin:0;border-top:1px solid var(--color-border-secondary)}.nav.open{display:flex}.nav a{display:flex;align-items:center;min-height:48px;padding:0 4px;font-size:1rem;border-bottom:1px solid var(--color-border-tertiary);border-left:none;border-radius:0}.nav a:last-child{border-bottom:none}.nav a[aria-current=page]{color:var(--color-text-brand-primary);font-weight:600;box-shadow:inset 3px 0 0 var(--color-border-brand);padding-left:12px}.nav a:hover{background:transparent}.hero{padding-block:var(--spacing-3)}.hero h1{font-size:clamp(1.4rem,7vw,1.8rem);max-width:none;margin-bottom:var(--spacing-2)}.hero .sub{font-size:.9375rem;margin-bottom:var(--spacing-3)}.brandmark{font-size:.95rem;letter-spacing:.28em;text-indent:.28em;margin-bottom:var(--spacing-2)}.hero .acts{gap:8px;margin-bottom:var(--spacing-3)}.hero .acts .btn{flex:1 1 auto;justify-content:center;min-height:46px}.btn{min-height:44px;padding:11px 18px}.btn.sm{min-height:40px}.btn.xs{min-height:36px}.crumbs a,.site-foot a,.meta-line a,.note a,.prose a{display:inline-block;padding:6px 0}.crumbs{font-size:.78rem;margin-bottom:var(--spacing-3)}.sec-head{margin-bottom:var(--spacing-3)}.sec-head .more{min-height:36px;display:inline-flex;align-items:center}.site-foot{padding:var(--spacing-5) 0 var(--spacing-6)}.site-foot .links{display:grid;grid-template-columns:repeat(3,1fr);gap:2px var(--spacing-2);margin-bottom:var(--spacing-4)}.site-foot .links a{min-height:44px;display:flex;align-items:center;font-size:.9rem}.site-foot p{font-size:.82rem;line-height:1.75}.foot-icp{margin-top:var(--spacing-3)}.foot-icp a{display:inline-flex;align-items:center;min-height:40px}.ledger-strip{grid-template-columns:1fr 1fr;border-radius:var(--radius-md)}.ledger-strip .item{padding:11px 14px;display:flex;flex-direction:column;justify-content:center;border-bottom:1px dashed var(--color-border-secondary)}.ledger-strip .item:nth-child(odd){border-right:1px dashed var(--color-border-secondary)}.ledger-strip .item:nth-last-child(-n+2){border-bottom:none}.ledger-strip .v{font-size:1.35rem}.ledger-strip .k{font-size:.72rem;margin-top:0}.pcard{padding:var(--spacing-3) var(--spacing-3) calc(var(--spacing-3) - 2px)}.pcard h3{font-size:.95rem;line-height:1.5}.pcard p{font-size:.85rem}.pcard .foot{margin-top:var(--spacing-2);padding-top:var(--spacing-2)}.namecard{padding:var(--spacing-3)}.namecard .chars{gap:var(--spacing-2);padding-bottom:var(--spacing-2)}.namecard .ch .c{font-size:1.3rem}.namecard .ch .m{font-size:.82rem}.note{padding:var(--spacing-3)}.note p{font-size:.88rem}.toc{display:none}.qa .q,.qa .a{padding:var(--spacing-3)}.grp{padding:var(--spacing-3);gap:var(--spacing-3)}.grp .qr{width:78px;height:78px}.talkcard{padding:var(--spacing-3)}.talkcard h3{font-size:.95rem}.contactcard{gap:var(--spacing-4);padding:var(--spacing-4) var(--spacing-3)}.contactcard .qrbox img{width:150px;height:150px}.contactcard .lines p{font-size:.9rem}.ask input[type=text],.ask textarea{font-size:16px;min-height:46px;padding:12px 13px}.ask textarea{min-height:120px}.ask .anon{min-height:44px;margin:var(--spacing-2) 0;font-size:.9rem}.ask input[type=checkbox]{width:20px;height:20px}.poll button{min-height:48px;padding:12px 14px;font-size:.9375rem}.stair{padding:var(--spacing-3);gap:var(--spacing-2)}.stair .tx{font-size:.86rem}.stair .cost{font-size:.68rem}.tl{padding-left:var(--spacing-3)}.tl .it:before{left:calc(-1 * var(--spacing-3) - 5px)}.prose{font-size:1rem}.prose h2{font-size:1.05rem;margin-top:var(--spacing-4)}.prose h3{font-size:.98rem}.prose pre{font-size:.78rem;padding:var(--spacing-3);border-radius:var(--radius-sm)}.prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.prose table th,.prose table td{padding:8px 10px}.hand{font-size:.95rem;padding-left:13px;margin:var(--spacing-3) 0}.pcard[style*="text-align:right"]{text-align:left!important}.noteflow a{padding:11px var(--spacing-2)}.noteflow .tx{font-size:.88rem}.softname{font-size:1.9rem;letter-spacing:.08em}.softcard{padding:var(--spacing-3)}.softcard .nm{font-size:1.35rem}.softcard p{font-size:.86rem}.tag{font-size:.7rem;padding:3px 9px;min-height:24px;display:inline-flex;align-items:center}}@media(max-width:360px){.wrap{padding:0 14px}.hero h1{font-size:1.3rem}.ledger-strip .v{font-size:1.2rem}.site-foot .links{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}html{scroll-behavior:auto}}@media print{body{background-image:none}.site-head,.site-foot,.nav-toggle{display:none}.pcard:hover{transform:none}a[href^=http]:after{content:" (" attr(href) ")";font-size:.72em;color:var(--color-text-tertiary)}}
