:root{color-scheme:light dark;--bg:#ffffff;--fg:#191613;--surface:#ffffff;--muted:#6f6761;--line:rgba(25,22,19,.10);--line-strong:rgba(25,22,19,.18);--accent:#6d4b3e;--accent-soft:rgba(109,75,62,.08);--accent-strong:#6d4b3e;--code-bg:#ecefed}@media(prefers-color-scheme:dark){:root{--bg:#11100f;--fg:#f2ece5;--surface:#171513;--muted:#b9afa4;--line:rgba(242,236,229,.12);--line-strong:rgba(242,236,229,.22);--accent:#ddb39c;--accent-soft:rgba(221,179,156,.12);--accent-strong:#ddb39c;--code-bg:#242a28}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 "Avenir Next","Segoe UI",sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration-thickness:.08em;text-underline-offset:.18em}.mf-shell{max-width:64rem;margin:0 auto;padding:2.4rem 2rem 4rem}.mf-header{max-width:64rem;margin:0 auto;padding:2.4rem 2rem 0;display:flex;justify-content:space-between;align-items:center;gap:18px}.mf-brand{font-family:"Iowan Old Style","Palatino Linotype",serif;font-size:1.15rem;font-weight:600;letter-spacing:.01em;color:var(--fg);text-decoration:none}.mf-nav{display:flex;gap:1rem;flex-wrap:wrap;font-size:1rem;justify-content:flex-end}.mf-nav a{color:var(--muted);text-decoration:none}.mf-nav a:hover{color:var(--accent)}h1{font-size:2.1rem;line-height:1.16;margin:0 0 16px}h2{font-size:1.25rem;line-height:1.25;margin:34px 0 10px}p{margin:0 0 16px}ul,ol{padding-left:1.25rem}code{background:var(--code-bg);border-radius:4px;padding:1px 4px;font-size:.92em}blockquote{border-left:3px solid var(--line);margin:20px 0;padding:0 0 0 16px;color:var(--muted)}.mf-eyebrow{color:var(--muted);font-size:.73rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.mf-lead{font-size:1.05rem;line-height:1.8;color:var(--muted);max-width:40rem}.mf-intro{padding-bottom:2rem}.mf-section{margin-top:2.2rem}.mf-section-title{margin-bottom:.85rem}.mf-section-title .mf-lead{font-size:1rem;line-height:1.6;margin-top:.25rem}.mf-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.mf-card{position:relative;display:flex;flex-direction:column;gap:1rem;min-height:100%;padding:1.15rem;border:1px solid var(--line);border-radius:1.05rem;background:var(--surface);box-shadow:0 10px 24px rgba(25,22,19,.04);backdrop-filter:blur(12px);text-decoration:none;color:inherit;transition:border-color 160ms ease}.mf-card:hover{border-color:var(--line-strong)}.mf-card h2{margin:0;font-size:1.06rem;font-weight:600;line-height:1.2}.mf-card p{margin:0;color:var(--muted)}.mf-card-action{margin-top:auto;color:var(--muted)}.mf-link-list{list-style:none;padding:0;margin:22px 0 0}.mf-link-list li{border-top:1px solid var(--line);padding:15px 0}.mf-link-list li:first-child{border-top:0}.mf-link-list a{font-weight:700;text-decoration:none}.mf-domain{color:var(--muted);font-size:.92rem}.mf-description{color:var(--muted);margin-top:5px}article{max-width:780px;margin:0 auto;padding:0}article h1{font-size:2.1rem;line-height:1.16}.mf-tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.mf-tag{border:1px solid var(--line);border-radius:999px;padding:2px 9px;font-size:.82rem;color:var(--muted)}.mf-footer{max-width:64rem;margin:0 auto;padding:0 2rem 4rem;color:var(--muted);font-size:.88rem}.mf-footer a{color:inherit;text-decoration:none}@media(max-width:640px){.mf-header{align-items:flex-start;flex-direction:column;padding:1.2rem 1rem 0}.mf-shell{padding:1.2rem 1rem 3rem}.mf-intro{padding-bottom:1.5rem}.mf-nav{width:100%;justify-content:flex-start}.mf-card-grid{grid-template-columns:1fr}.mf-lead{font-size:1.12rem}h1{font-size:1.72rem}}
:root{--inline-note-bg:color-mix(in oklab, var(--fg), transparent 95%);--keyboard-special-bg:color-mix(in oklab, var(--surface), var(--fg) 8%);--qr-frame-bg:transparent;--glass-button-bg:color-mix(in oklab, var(--surface), transparent 66%);--glass-button-bg-hover:color-mix(in oklab, var(--surface), transparent 42%);--glass-button-border:color-mix(in oklab, var(--surface), var(--fg) 10%);--glass-button-shadow:0 10px 30px color-mix(in oklab, var(--fg), transparent 88%), inset 0 1px 0 color-mix(in oklab, var(--surface), white 36%);--error:#a83f2f;--radius-lg:1.1rem;--radius-md:0.85rem}@media(prefers-color-scheme:dark){:root{--inline-note-bg:color-mix(in oklab, var(--fg), transparent 92%);--keyboard-special-bg:color-mix(in oklab, var(--surface), var(--fg) 10%);--qr-frame-bg:#fff;--glass-button-bg:color-mix(in oklab, var(--surface), transparent 60%);--glass-button-bg-hover:color-mix(in oklab, var(--surface), transparent 34%);--glass-button-border:color-mix(in oklab, var(--fg), transparent 82%);--glass-button-shadow:0 10px 30px rgba(0, 0, 0, 0.34), inset 0 1px 0 color-mix(in oklab, var(--fg), transparent 82%);--error:#ff9a88}}#app{width:100%;margin:0 auto;padding:1.25rem clamp(1rem, 4vw, 2.5rem) 2.2rem}.page-title,
.rime-section-title{margin:0;font-family:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", serif;font-weight:500;letter-spacing:0}.page-title{font-size:clamp(2rem, 4.2vw, 3.45rem);line-height:1;white-space:normal}.rime-section-title{font-size:1.45rem;line-height:1.05}.rime-section-copy,
.rime-help-text,
.rime-empty-state{margin:0;color:var(--muted)}.rime-unready-device{text-decoration-line:line-through;text-decoration-thickness:0.11em;text-decoration-color:var(--error)}.rime-config-shell,
.rime-museum-shell,
.rime-primary-column,
.rime-section-header,
.rime-option-copy,
.keyboard-preview,
.rime-footer{display:flex;flex-direction:column}.rime-config-shell{gap:1rem}.rime-museum-shell{gap:0.95rem}.rime-hero-card,
.rime-section,
.rime-notes-card{border:0;border-radius:0;background:transparent;box-shadow:none}.rime-hero-card{padding:0 0 0.9rem;background:transparent}.rime-section,
.rime-notes-card{padding:0.95rem 0 0}.rime-exhibit-overview{display:flex;flex-direction:column;gap:1rem;padding:0 0 1.1rem}.rime-exhibit-copy{width:100%;min-width:0}.rime-exhibit-copy .rime-hero-copy{max-width:38rem}.rime-hero-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.rime-back-link,
.rime-platform-tab{color:var(--fg);text-decoration:none}.rime-back-link{display:inline-flex;margin-bottom:0.65rem;color:var(--accent);font-size:0.86rem;font-weight:600}.rime-platform-tabs{display:inline-flex;flex-wrap:wrap;gap:0.4rem;margin-top:1rem}.rime-platform-tab{display:inline-flex;align-items:center;min-height:2.3rem;padding:0.46rem 0.85rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:0.86rem;font-weight:600}.rime-platform-tab:hover,
.rime-platform-tab.is-active{border-color:var(--line-strong);background:var(--accent-soft);color:var(--fg)}.rime-config-grid{display:block}.rime-primary-column{gap:1.1rem}.rime-section-header,
.keyboard-preview{gap:0.5rem}.rime-platform-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:0.75rem}.rime-schema-categories{display:flex;flex-direction:column;gap:1.35rem}.rime-customizer{display:flex;flex-direction:column;gap:0.9rem;padding-bottom:1.1rem;border-bottom:1px solid var(--line)}.rime-customizer-grid{display:grid;grid-template-columns:repeat(2, minmax(14rem, 1fr));gap:0.75rem 1rem;align-items:start;flex:1 1 auto}.rime-customizer-panel{min-width:0}.rime-customizer-heading{margin:0 0 0.55rem;color:var(--muted);font-size:0.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.rime-customizer-methods,
.rime-customizer-layouts{grid-column:auto}.rime-customizer-layouts{margin-top:0}.rime-customizer-selector-form{display:block;margin:0}.rime-customizer-select{width:100%;min-width:0;min-height:2.45rem;padding:0.48rem 2rem 0.48rem 0.68rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--fg);font-size:0.9rem;font-weight:600}.rime-customizer-select:hover,
.rime-customizer-select:focus-visible{border-color:var(--line-strong);outline:none}.rime-customizer-preview{display:flex;flex-direction:column;grid-column:1 / -1;grid-row:auto;gap:0.65rem;min-height:0}.rime-customizer-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem}.rime-customizer-preview-head .rime-back-link{margin-bottom:0}.rime-customizer-targets{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 12rem), 1fr));gap:0.55rem;margin-top:0.1rem}.rime-customizer-target-form{margin:0}.rime-customizer .rime-detail-preview{grid-template-columns:1fr;flex:1 1 auto}.rime-customizer .rime-detail-preview .keyboard-preview-svg-wrap{height:clamp(15rem, 36svh, 25rem)}.rime-customizer .rime-target-preview{padding:0.65rem}.rime-customizer .rime-target-download-form{display:none}.rime-reference-section{display:flex;flex-direction:column;gap:0.85rem;padding-top:1rem}.rime-home-links{display:flex;justify-content:flex-start;padding-top:0.25rem}.rime-home-links .rime-back-link{margin-bottom:0}.rime-reference-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.rime-schema-category{display:grid;grid-template-columns:max-content minmax(0, 1fr);gap:0.75rem 1rem;align-items:stretch}.rime-schema-category-title{display:inline-flex;align-items:center;margin:0;color:var(--accent);font-size:clamp(1.15rem, 1.55vw, 1.55rem);font-weight:600;line-height:1;letter-spacing:0;text-transform:uppercase;text-orientation:sideways;transform:rotate(180deg);writing-mode:vertical-rl}.rime-schema-category-title::after{content:none}.rime-option-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(min(100%, 15rem), 1fr));gap:0.55rem;justify-content:start}.rime-option-card,
.rime-exhibit-card,
.rime-layout-card,
.rime-build-button{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--fg)}.rime-build-button{appearance:none;background:transparent}.rime-option-card.is-selected,
.rime-option-card:has(.rime-option-input:checked),
.rime-exhibit-card:hover{border-color:var(--line-strong);background:var(--accent-soft)}.rime-option-card,
.rime-exhibit-card,
.rime-layout-card{position:relative;display:flex;flex-direction:column;gap:0.4rem;padding:0.55rem;background:transparent;min-width:0}.rime-exhibit-card{text-decoration:none}.rime-option-card{cursor:pointer}.rime-option-card.is-auto{cursor:default;border-style:dashed}.rime-option-card .rime-option-copy{gap:0.3rem}.rime-option-head{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem}.rime-option-action{color:var(--accent);font-size:0.8rem;font-weight:600}.rime-option-input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.rime-platform-hint,
.rime-inline-note{font-size:0.82rem}.rime-option-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:0.45rem}.rime-platform-label,
.rime-option-title{font-size:1rem;font-weight:600}.rime-inline-note{display:none;padding:0.1rem 0.45rem;border-radius:999px;background:var(--inline-note-bg)}.rime-card-description{margin:0;color:var(--muted);font-size:0.92rem;line-height:1.45}.rime-option-card.is-auto .rime-inline-note{display:inline-flex}.rime-build-button{width:100%;padding:0.92rem 1rem;cursor:pointer;background:var(--fg);color:var(--bg);font-weight:600}.rime-build-button:hover{border-color:var(--line-strong);background:var(--accent);color:var(--bg)}.rime-build-button-secondary{border-color:var(--line-strong);background:transparent;color:var(--fg)}.rime-build-button-secondary:hover{background:var(--accent-soft);color:var(--fg)}.rime-exhibit-download{min-width:0;width:min(100%, 46rem)}.rime-definition-panel{display:grid;gap:0.75rem;width:min(100%, 76rem);min-width:0;padding-top:0.9rem}.rime-definition-code{overflow:auto;min-width:0;max-height:24rem;margin:0;padding:0.85rem 0;color:var(--fg);font-family:"SFMono-Regular", "SF Mono", Consolas, monospace;font-size:0.82rem;line-height:1.55;white-space:pre}.rime-detail-preview{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 21rem), 1fr));gap:0.75rem;min-width:0;width:100%}.rime-target-preview{position:relative;display:flex;flex-direction:column;gap:0.6rem;min-width:0;margin:0;padding:0.75rem;border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in oklab, var(--surface), transparent 20%)}.rime-target-preview-title{color:var(--muted);font-size:0.78rem;font-weight:650;line-height:1;text-transform:uppercase}.rime-detail-preview .keyboard-preview-svg-wrap{display:flex;height:clamp(14rem, 28vw, 22rem);align-items:center;justify-content:center;margin-top:0.35rem;width:100%}.rime-detail-preview .keyboard-preview-svg{width:100%;height:100%;object-fit:contain}.rime-target-download-form{display:flex;position:absolute;top:0.55rem;right:0.55rem;margin:0}.rime-target-add-button{display:inline-flex;width:2.05rem;height:2.05rem;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;appearance:none;background:color-mix(in oklab, var(--surface), transparent 8%);color:var(--fg);cursor:pointer;font-size:1.45rem;font-weight:500;line-height:1}.rime-target-add-button:hover{border-color:var(--line-strong);background:var(--accent-soft)}.rime-target-add-button-secondary{border-color:var(--line-strong)}.rime-artifact-form{display:grid;grid-template-columns:minmax(11rem, 18rem) minmax(0, 1fr);gap:0.65rem;margin:0;align-items:start}.rime-artifact-buttons{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 18rem), 1fr));gap:0.65rem;align-items:start}.rime-artifact-action{display:grid;gap:0.45rem;min-width:0}.rime-exhibit-download .rime-artifact-form{grid-template-columns:minmax(0, 28rem);gap:0.65rem;align-self:start}.rime-exhibit-download .rime-artifact-buttons .rime-build-button{width:100%;min-width:0}.rime-variant-control{display:inline-flex;width:fit-content;max-width:100%;min-height:2.7rem;align-items:center;gap:0.45rem;padding:0.36rem 0.5rem 0.36rem 0.7rem;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.rime-variant-label{flex:0 0 auto;color:var(--muted);font-size:0.82rem;font-weight:600}.rime-variant-select{width:auto;max-width:min(9rem, 42vw);border:0;background:transparent;color:var(--fg);font-size:0.92rem;font-weight:600}.rime-variant-select:focus-visible{outline:2px solid var(--line-strong);outline-offset:2px}.rime-sticky-actions{position:sticky;bottom:0.85rem;z-index:5;display:flex;justify-content:center;margin-top:1rem;padding:0.35rem 0;pointer-events:none}.rime-sticky-build-button{width:auto;min-width:max-content;min-height:2.55rem;padding:0.68rem 1.05rem;border-radius:999px;border-color:var(--glass-button-border);background:var(--glass-button-bg);box-shadow:var(--glass-button-shadow);font-size:0.96rem;backdrop-filter:blur(20px) saturate(1.55);-webkit-backdrop-filter:blur(20px) saturate(1.55);pointer-events:auto;white-space:nowrap}.rime-sticky-build-button:hover{border-color:var(--line-strong);background:var(--glass-button-bg-hover)}.rime-build-button.is-disabled,
.rime-build-button:disabled{cursor:not-allowed;opacity:0.5}.rime-footer{display:grid;grid-template-columns:minmax(0, 1fr) auto;align-items:start;gap:0.75rem 1rem;padding-top:0.65rem;border-top:1px solid var(--line);color:var(--muted);font-size:0.82rem}.rime-category-heading,
.rime-exhibit-section,
.rime-layout-card{display:flex;flex-direction:column}.rime-category-heading{align-items:center;gap:0.65rem;min-height:100%;padding-top:0.2rem}.rime-category-heading::after{content:"";width:1px;min-height:3.5rem;flex:1 1 auto;background:var(--line)}.rime-exhibit-section{gap:0.7rem}.rime-layout-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(min(100%, 24rem), 1fr));gap:0.7rem}.rime-dependency-list{display:flex;flex-wrap:wrap;gap:0.4rem;margin:0;padding:0;list-style:none}.rime-dependency-list code{display:inline-flex;padding:0.12rem 0.45rem;border:1px solid var(--line);border-radius:999px;color:var(--muted)}.rime-footer a{color:var(--accent);text-decoration:none}.rime-footer-meta{display:flex;flex-direction:column;gap:0.35rem;min-width:0}.rime-footer-links{display:flex;flex-direction:column;gap:0.25rem;align-items:flex-start}.rime-deps-section{padding-top:0.95rem}.rime-footer-support{display:flex;align-items:center;gap:0.5rem;justify-content:flex-end;text-align:right}.rime-footer-support-image{display:block;width:5.6rem;aspect-ratio:1 / 1;border:1px solid var(--line);border-radius:0.6rem;background:var(--qr-frame-bg)}.keyboard-preview{width:100%;margin:0}.rime-schema-previews{display:grid;grid-template-columns:minmax(0, 1fr);gap:0.3rem;margin-top:0.1rem;width:100%}.rime-schema-preview,
.rime-layout-preview{overflow:hidden;width:100%}.keyboard-preview-svg{display:block;width:100%;height:auto}.rime-exhibit-card .keyboard-preview-svg{width:auto;max-width:100%;margin:0 auto}.keyboard-preview-svg-wrap{width:100%}.rime-error-text{margin:0;color:var(--error)}.rime-empty-state{font-size:0.92rem}.rime-footer-credit{flex:1 1 12rem}@media(max-width: 860px){#app{padding:1.25rem 0.9rem 2.6rem}.rime-customizer-grid{grid-template-columns:1fr}.rime-customizer{min-height:0}.rime-customizer-methods,
.rime-customizer-layouts,
.rime-customizer-preview{grid-column:auto;grid-row:auto}.rime-customizer-layouts{margin-top:0}.rime-exhibit-download .rime-artifact-form{grid-template-columns:1fr}.rime-exhibit-download .rime-artifact-buttons{grid-template-columns:repeat(2, minmax(0, 1fr))}.rime-platform-grid{grid-template-columns:1fr}}@media(max-width: 640px){.rime-footer{grid-template-columns:minmax(0, 1fr) auto;gap:0.75rem}.rime-footer-support{justify-content:flex-end;text-align:right}.rime-footer-support-image{width:clamp(4.25rem, 22vw, 5.6rem)}.rime-schema-category{display:flex;flex-direction:column;gap:0.75rem}.rime-category-heading{align-items:stretch;min-height:0;padding-top:0}.rime-category-heading::after{content:none}.rime-schema-category-title{display:flex;align-items:center;gap:0.65rem;font-size:clamp(1.45rem, 7vw, 2rem);transform:none;text-transform:none;writing-mode:horizontal-tb}.rime-schema-category-title::after{content:"";height:1px;flex:1 1 auto;background:var(--line)}.rime-hero-card,
  .rime-section,
  .rime-notes-card{padding-left:0;padding-right:0}.page-title{font-size:clamp(2.1rem, 10vw, 3rem);white-space:normal;line-height:1}.keyboard-preview{max-width:none}.rime-sticky-actions{bottom:0.65rem}.rime-sticky-build-button{max-width:calc(100vw - 1.8rem);min-height:2.75rem;padding:0.72rem 1rem;overflow:hidden;text-overflow:ellipsis}.rime-artifact-form{width:100%;grid-template-columns:1fr}.rime-exhibit-download .rime-artifact-buttons{grid-template-columns:1fr}.rime-artifact-buttons{grid-template-columns:1fr}.rime-artifact-buttons .rime-build-button{min-width:0}}