@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(./newsreader-latin-wght-normal-CCVVNp6i.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(./newsreader-latin-wght-italic-Bxi8ein9.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(./newsreader-latin-ext-wght-normal-C-3rgBeH.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(./newsreader-latin-ext-wght-italic-DFS986qL.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--paper: #f5f1e8;--surface-1: #fbf8f2;--surface-2: #efe9dc;--surface-3: #e4dccb;--sunk: #eae3d3;--ink: #1a1712;--ink-2: #57503f;--ink-3: #857b66;--line: #ddd4c0;--line-strong: #c4b89c;--accent: #c0522e;--accent-ink: #ffffff;--focus: #35619f;--fam-circle: #c0522e;--fam-journey: #7a4a93;--fam-acts: #0e8f63;--fam-beats: #35619f;--fam-arc: #9e7008;--fam-genre: #c4497a;--state-empty: 80%;--state-draft: 42%;--state-locked: 0%;--serif: "Newsreader", "Iowan Old Style", "Source Serif Pro", Georgia, serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--shadow-1: 0 1px 2px rgba(26, 23, 18, .06), 0 2px 8px rgba(26, 23, 18, .04);--shadow-2: 0 2px 6px rgba(26, 23, 18, .1), 0 12px 32px rgba(26, 23, 18, .1);--topbar-h: 56px}@media (prefers-color-scheme: dark){:root:where(:not([data-theme=light])){color-scheme:dark;--paper: #16140f;--surface-1: #201d17;--surface-2: #2a261e;--surface-3: #38332a;--sunk: #100e0a;--ink: #f2ede2;--ink-2: #b8b0a0;--ink-3: #857d6d;--line: #353027;--line-strong: #4d463a;--accent: #ce6840;--accent-ink: #16140f;--focus: #5484c8;--fam-circle: #ce6840;--fam-journey: #9179c6;--fam-acts: #22a071;--fam-beats: #5484c8;--fam-arc: #b08718;--fam-genre: #ce668d;--state-empty: 78%;--state-draft: 40%;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .3);--shadow-2: 0 2px 6px rgba(0, 0, 0, .5), 0 12px 32px rgba(0, 0, 0, .45)}}:root[data-theme=dark]{color-scheme:dark;--paper: #16140f;--surface-1: #201d17;--surface-2: #2a261e;--surface-3: #38332a;--sunk: #100e0a;--ink: #f2ede2;--ink-2: #b8b0a0;--ink-3: #857d6d;--line: #353027;--line-strong: #4d463a;--accent: #ce6840;--accent-ink: #16140f;--focus: #5484c8;--fam-circle: #ce6840;--fam-journey: #9179c6;--fam-acts: #22a071;--fam-beats: #5484c8;--fam-arc: #b08718;--fam-genre: #ce668d;--state-empty: 78%;--state-draft: 40%;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .3);--shadow-2: 0 2px 6px rgba(0, 0, 0, .5), 0 12px 32px rgba(0, 0, 0, .45)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;font-feature-settings:"cv05" 1,"ss03" 1;font-variant-numeric:proportional-nums;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;text-rendering:optimizeLegibility;overscroll-behavior:none}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:3px}.kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.boot{display:grid;place-items:center;height:100%;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.app{display:flex;flex-direction:column;height:100%;padding-top:env(safe-area-inset-top)}.topbar{display:flex;align-items:center;gap:10px;height:var(--topbar-h);padding:0 14px;border-bottom:1px solid var(--line);background:var(--surface-1);flex:none;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:9px;flex:none}.brand-name{font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:.005em;white-space:nowrap;display:flex;align-items:baseline;gap:7px}.brand-sub{font-family:var(--mono);font-size:9.5px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.title-input{font-family:var(--serif);font-size:19px;font-weight:500;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);padding:5px 9px;min-width:0;flex:1;max-width:340px}.title-input:hover{border-color:var(--line)}.title-input:focus{background:var(--paper);border-color:var(--line-strong);outline:none}.topbar-right{display:flex;align-items:center;gap:6px;margin-left:auto;flex:none}.icon-btn{background:transparent;border:1px solid transparent;border-radius:var(--r-sm);height:34px;min-width:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 8px;cursor:pointer;color:var(--ink-2);transition:background .14s ease,color .14s ease,border-color .14s ease}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn.is-on{background:var(--surface-3);color:var(--ink)}.icon-btn svg{width:17px;height:17px;display:block}.meter{display:flex;align-items:center;gap:8px;padding:0 4px 0 8px}.meter-track{width:88px;height:5px;border-radius:99px;background:var(--surface-3);overflow:hidden}.meter-fill{height:100%;border-radius:99px;background:var(--accent);transition:width .35s cubic-bezier(.22,1,.36,1)}.meter-num{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}.menu-wrap{position:relative}.menu{position:absolute;top:calc(100% + 6px);right:0;min-width:260px;max-height:60vh;overflow-y:auto;background:var(--surface-1);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:5px;z-index:40}.menu-item{display:flex;align-items:center;gap:9px;width:100%;background:none;border:0;border-radius:var(--r-sm);padding:9px 10px;cursor:pointer;text-align:left;font-size:14px;color:var(--ink)}.menu-item:hover{background:var(--surface-2)}.menu-item.is-on{background:var(--surface-2);font-weight:500}.menu-item .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item .n{font-family:var(--mono);font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.menu-head{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:4px 10px 6px}.menu-sep{height:1px;background:var(--line);margin:5px 2px}.stage{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 420px;min-height:0}.wheel-wrap{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px;min-width:0;min-height:0;background:radial-gradient(120% 90% at 50% 42%,var(--surface-1) 0%,var(--paper) 62%)}.wheel{width:100%;max-width:min(82vh,720px);aspect-ratio:1 / 1;flex:none;height:auto;touch-action:manipulation;overflow:visible}.caption{min-height:34px;display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-2);text-align:center;padding:0 16px;max-width:560px}.caption-empty{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.caption .swatch{width:9px;height:9px;border-radius:2px;flex:none}.caption b{font-weight:600;color:var(--ink)}.caption .pct{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.guide-line{stroke:var(--line-strong);stroke-width:1;stroke-dasharray:2 5;opacity:.75}.guide-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;fill:var(--ink-3);font-variant-numeric:tabular-nums}.ring-plate{fill:none;stroke:var(--surface-2)}.seg-path{stroke:var(--paper);stroke-width:1.25;cursor:pointer;outline:none;transition:filter .13s ease,opacity .13s ease}.seg-path:hover{filter:brightness(1.08) saturate(1.15)}:root[data-theme=dark] .seg-path:hover{filter:brightness(1.25)}.seg.is-selected .seg-path{stroke:var(--ink);stroke-width:2.25}.seg-path:focus-visible{stroke:var(--focus);stroke-width:2.5}.seg-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.03em;fill:var(--ink);opacity:.72;pointer-events:none}.seg.is-selected .seg-label{opacity:1;font-weight:500}.seg.is-locked .seg-label{fill:var(--accent-ink);opacity:.95}.progress-track{fill:none;stroke:var(--surface-3);stroke-width:4;stroke-linecap:round}.progress-arc{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .5s cubic-bezier(.22,1,.36,1)}.hub{cursor:pointer;outline:none}.hub-plate{fill:var(--surface-1);stroke:var(--line-strong);stroke-width:1.5;transition:stroke .15s ease}.hub:hover .hub-plate{stroke:var(--accent)}.hub.is-selected .hub-plate{stroke:var(--ink);stroke-width:2.25}.hub-kicker{font-family:var(--mono);font-size:8px;letter-spacing:.16em;fill:var(--ink-3)}.hub-text{font-family:var(--serif);font-size:12.5px;fill:var(--ink)}.hub-text-empty{fill:var(--ink-3);font-size:15px}.hub-rule{stroke:var(--line);stroke-width:1}.hub-vs{font-family:var(--serif);font-style:italic;font-size:12px;fill:var(--ink-3)}.panel{border-left:1px solid var(--line);background:var(--surface-1);display:flex;flex-direction:column;min-height:0;z-index:10}.tabs{display:flex;gap:2px;padding:8px 10px 0;border-bottom:1px solid var(--line);flex:none}.tab{flex:1;background:none;border:0;border-bottom:2px solid transparent;padding:9px 8px 10px;cursor:pointer;font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);border-radius:var(--r-sm) var(--r-sm) 0 0;transition:color .14s ease,background .14s ease}.tab:hover{color:var(--ink);background:var(--surface-2)}.tab.is-on{color:var(--ink);border-bottom-color:var(--accent)}.panel-body{padding:22px 24px 32px;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.beat-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.src-chip{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;color:var(--accent-ink);border-radius:3px;padding:2px 5px;flex:none}.ring-name{font-size:12.5px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-title{font-family:var(--serif);font-size:37px;font-weight:500;line-height:1.08;letter-spacing:-.017em;text-wrap:balance;margin-bottom:12px}.panel-intro{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.5;color:var(--ink-2);text-wrap:pretty;max-width:56ch;margin-bottom:22px}.where{margin-bottom:18px}.where-bar{height:6px;border-radius:99px;background:var(--surface-3);position:relative;overflow:hidden}.where-span{position:absolute;top:0;bottom:0;border-radius:99px}.where-meta{display:flex;justify-content:space-between;margin-top:6px;font-family:var(--mono);font-size:10.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.beat-what{font-family:var(--serif);font-size:17px;line-height:1.58;max-width:60ch;text-wrap:pretty;margin-bottom:20px;color:var(--ink)}.beat-ask{font-family:var(--serif);font-size:21px;line-height:1.4;font-style:italic;letter-spacing:-.005em;color:var(--ink);text-wrap:pretty;max-width:52ch;border-left:2px solid var(--accent);padding:3px 0 3px 15px;margin-bottom:24px}.field{display:block;margin-bottom:18px}.field-label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}.field-hint{display:block;font-size:13.5px;color:var(--ink-3);margin-bottom:7px;line-height:1.5;text-wrap:pretty;max-width:58ch}.field textarea,.field input{width:100%;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 13px;resize:vertical;line-height:1.6;transition:border-color .14s ease,background .14s ease}.field textarea{font-family:var(--serif);font-size:16.5px;line-height:1.62}.field textarea.mono{font-family:var(--mono);font-size:13px;line-height:1.55}.field textarea::placeholder{color:var(--ink-3)}.field textarea:hover,.field input:hover{border-color:var(--line-strong)}.field textarea:focus,.field input:focus{outline:none;border-color:var(--accent);background:var(--surface-1)}.mono{font-family:var(--mono);font-size:13px}.pill-row{display:flex;gap:7px;flex-wrap:wrap}.pill{background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:7px 15px;cursor:pointer;font-size:13.5px;color:var(--ink-2);transition:all .14s ease}.pill:hover{border-color:var(--line-strong);color:var(--ink)}.pill.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.primary{background:var(--accent);color:var(--accent-ink);border:0;border-radius:var(--r-md);padding:12px 16px;cursor:pointer;width:100%;margin-bottom:10px;font-weight:500;transition:filter .14s ease}.primary:hover{filter:brightness(1.07)}.primary:disabled{opacity:.5;cursor:default}.ghost-btn{background:none;border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px;width:100%;cursor:pointer;font-size:13.5px;color:var(--ink-2);margin-bottom:12px;transition:all .14s ease}.ghost-btn:hover{border-color:var(--line-strong);color:var(--ink)}.beat-nav{display:flex;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.beat-nav button{flex:1;background:none;border:1px solid var(--line);border-radius:var(--r-md);padding:10px;cursor:pointer;color:var(--ink-2);font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .14s ease}.beat-nav button:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink)}.beat-nav button:disabled{opacity:.4;cursor:default}.hint-key{font-family:var(--mono);font-size:10px;color:var(--ink-3);border:1px solid var(--line);border-radius:3px;padding:1px 4px}.lib-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.lib-hint{font-size:13.5px;color:var(--ink-3);margin-bottom:14px;line-height:1.55;text-wrap:pretty;max-width:58ch}.fam-group{margin-bottom:18px}.fam-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding-bottom:5px;border-bottom:1px solid var(--line)}.fam-dot{width:9px;height:9px;border-radius:2px;flex:none}.fam-name{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-2)}.lib-list{list-style:none}.lib-item{display:flex;align-items:center;gap:9px;width:100%;background:none;border:0;border-radius:var(--r-sm);padding:8px 7px;cursor:pointer;text-align:left;transition:background .13s ease}.lib-item:hover{background:var(--surface-2)}.lib-check{width:15px;height:15px;border-radius:4px;border:1.5px solid var(--line-strong);flex:none;display:grid;place-items:center;transition:all .13s ease}.lib-item.is-on .lib-check{border-color:transparent}.lib-check svg{width:10px;height:10px;opacity:0;color:#fff}.lib-item.is-on .lib-check svg{opacity:1}.lib-src{font-family:var(--mono);font-size:9.5px;color:var(--ink-3);width:32px;flex:none}.lib-label{flex:1;font-size:13.5px;min-width:0;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-item.is-on .lib-label{color:var(--ink)}.lib-n{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);flex:none;font-variant-numeric:tabular-nums}.lib-n em{font-style:normal;color:var(--accent);font-weight:500}.sync-state{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink-3);display:inline-flex;align-items:center;gap:6px}.sync-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-3);flex:none}.sync-state.sync-synced .sync-dot{background:var(--fam-acts)}.sync-state.sync-syncing .sync-dot{background:var(--fam-arc);animation:pulse 1.1s ease-in-out infinite}.sync-state.sync-error{color:var(--fam-circle)}.sync-state.sync-error .sync-dot{background:var(--fam-circle)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.notice{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 13px;font-size:13.5px;margin-bottom:12px;line-height:1.5}.notice.error{border-color:var(--fam-circle);color:var(--fam-circle)}@media (max-width: 940px){html,body,#root{height:auto;min-height:100%}.app{height:auto}.topbar{position:sticky;top:0}.stage{display:block}.wheel-wrap{padding:12px 10px 6px}.wheel{max-width:min(94vw,620px)}.panel{border-left:0;border-top:1px solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--shadow-2)}.tabs{position:sticky;top:var(--topbar-h);background:var(--surface-1);z-index:9;border-radius:var(--r-lg) var(--r-lg) 0 0}.panel-body{overflow:visible;padding:20px 18px 40px}.brand-name{display:none}.meter-track{width:54px}.panel-title{font-size:32px}}@media (max-width: 560px){.meter-track{display:none}}@supports (padding: max(0px)){.panel-body{padding-bottom:max(32px,env(safe-area-inset-bottom))}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.print-sheet{display:none}@media print{:root,:root[data-theme=dark],:root:where(:not([data-theme=light])){--paper: #ffffff;--surface-1: #ffffff;--surface-2: #f4f0e7;--surface-3: #e8e1d2;--ink: #17150f;--ink-2: #4a4437;--ink-3: #6f6857;--line: #d8d0bd;--line-strong: #b4ab95;--accent: #c0522e;--accent-ink: #ffffff;--fam-circle: #c0522e;--fam-journey: #7a4a93;--fam-acts: #0e8f63;--fam-beats: #35619f;--fam-arc: #9e7008;--fam-genre: #c4497a;--state-empty: 80%;--state-draft: 42%;--state-locked: 0%}html,body,#root{height:auto;background:#fff}.app{display:block;height:auto;padding-top:0}.app>.topbar,.app>.stage{display:none!important}.print-sheet{display:block}.print-page{break-after:page;page-break-after:always}.print-page:last-child{break-after:auto;page-break-after:auto}.print-kicker{font-family:var(--mono);font-size:9pt;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:4pt}.print-title{font-family:var(--serif);font-size:30pt;font-weight:500;line-height:1.05;letter-spacing:-.015em;margin-bottom:6pt}.print-logline{font-family:var(--serif);font-style:italic;font-size:12pt;line-height:1.4;color:var(--ink-2);max-width:46em;margin-bottom:12pt}.print-axis{display:grid;grid-template-columns:1fr 1fr;gap:6pt 18pt;border-top:.75pt solid var(--line-strong);border-bottom:.75pt solid var(--line-strong);padding:8pt 0;margin-bottom:12pt}.print-axis dt{font-family:var(--mono);font-size:7.5pt;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.print-axis dd{font-family:var(--serif);font-size:11pt;line-height:1.35}.print-wheel{width:100%;max-width:15cm;margin:0 auto}.print-wheel .wheel{width:100%;max-width:none}.print-legend{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:2pt 16pt;margin-top:8pt;font-size:8.5pt;color:var(--ink-2)}.print-legend li{display:flex;align-items:center;gap:5pt}.print-dot{width:7pt;height:7pt;border-radius:1.5pt;flex:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-legend-src{font-family:var(--mono);font-size:7pt;color:var(--ink-3);width:2.6em}.print-ring-head{display:flex;align-items:baseline;gap:7pt;border-bottom:1pt solid var(--ink);padding-bottom:4pt;margin-bottom:8pt}.print-ring-head h2{font-family:var(--serif);font-size:17pt;font-weight:500;flex:1}.print-ring-n{font-family:var(--mono);font-size:8pt;color:var(--ink-3)}.print-table{width:100%;border-collapse:collapse;font-size:9pt}.print-table thead th{font-family:var(--mono);font-size:7pt;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:left;font-weight:400;padding:0 6pt 3pt 0;border-bottom:.75pt solid var(--line-strong)}.print-table tbody tr{break-inside:avoid;page-break-inside:avoid}.print-table td{vertical-align:top;padding:5pt 6pt 5pt 0;border-bottom:.5pt solid var(--line);line-height:1.38}.print-table .c-span,.print-table .c-min{font-family:var(--mono);font-size:7.5pt;color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}.print-table .c-span{width:3.6em}.print-table .c-min{width:3.2em}.print-table .c-beat{width:7.5em;font-family:var(--serif);font-size:10pt}.print-table .c-what{width:40%;color:var(--ink-2)}.print-table .c-yours{font-family:var(--serif);font-size:10pt}.print-ask{display:block;font-family:var(--serif);font-style:italic;color:var(--accent);margin-top:2pt}.print-lock{font-family:var(--mono);font-size:6.5pt;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);display:block}.print-blank{display:block;min-height:22pt;border-bottom:.5pt dotted var(--line-strong)}.seg-path,.progress-arc,.progress-track,.hub-plate,.ring-plate{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{margin:14mm 12mm}}.storage-warning{flex:none;background:var(--fam-circle);color:#fff;font-size:13.5px;line-height:1.45;padding:10px 16px;text-align:center}.app.is-focus .stage{grid-template-columns:minmax(0,1fr)}.app.is-focus .panel{display:none}.app.is-focus .wheel{max-width:min(88vh,900px)}.lib-actions{display:flex;gap:8px;margin-bottom:14px}.lib-actions .ghost-btn{margin-bottom:0}.lib-row{display:flex;align-items:center;gap:4px}.lib-row .lib-item{flex:1;min-width:0}.lib-only{flex:none;background:none;border:1px solid transparent;border-radius:var(--r-sm);padding:4px 8px;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);opacity:0;transition:opacity .13s ease,color .13s ease,border-color .13s ease}.lib-row:hover .lib-only,.lib-only:focus-visible{opacity:1}.lib-only:hover{color:var(--accent);border-color:var(--line-strong)}@media (hover: none){.lib-only{opacity:1}}.disclose{display:flex;align-items:center;gap:9px;width:100%;background:none;border:0;padding:6px 0;cursor:pointer;text-align:left}.disclose-mark{font-family:var(--mono);color:var(--accent);width:12px;flex:none}.disclose .lib-n{margin-left:auto}.sketch{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--paper)}.sketch-bar{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:8px 9px;border-bottom:1px solid var(--line);background:var(--surface-2)}.sketch-tools{display:flex;gap:5px}.pill.sm{padding:4px 10px;font-size:12px}.pill.sm:disabled{opacity:.4;cursor:default}.sketch-pad{position:relative;color:var(--ink);background-image:repeating-linear-gradient(to bottom,transparent,transparent 31px,var(--line) 31px,var(--line) 32px)}.sketch-pad svg{display:block;width:100%}.sketch-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;pointer-events:none;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.link-device{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
