@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Schibsted+Grotesk:wght@400;500;600;700&family=Zen+Old+Mincho:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700&family=Noto+Sans+JP:wght@300;400;500;600;700&family=Inter+Tight:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--paper-bright: #ffffff;--paper: #e7e5de;--paper-dim: #e7e5de;--paper-deep: #d3d0c8;--ink-rule: #d2cfc7;--ink-rule-2: #e4e2db;--ink-4: #646670;--ink-3: #5b5d64;--ink-2: #41434a;--ink: #17181b;--surround: #121319;--accent: #33407a;--accent-2: #222b53;--accent-tint: #e7e9f3;--status-ok: #2f6a4f;--status-wip: #9a6a1c;--status-err: #8a2a2a;--moss: #5e6b3e;--indigo: #33407a;--teal: #2f5d5a;--sand: #9a8f72;--clay: #6a6f86;--serif: "Zen Old Mincho", "Noto Serif JP", "Source Serif 4", Georgia, serif;--display: "Instrument Serif", "Zen Old Mincho", "Noto Serif JP", Georgia, serif;--sans: "Schibsted Grotesk", "Inter Tight", "Noto Sans JP", -apple-system, system-ui, sans-serif;--mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--jp: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", system-ui, sans-serif;--jp-serif: "Zen Old Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif;--body-font: var(--jp-serif);--body-weight: 500;--body-tracking: .02em;--gut: 20px;--grain-opacity: .4}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}input,textarea,select{font:inherit;color:inherit;background:transparent;border:0;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.paper-grain{position:relative}.paper-grain:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(rgba(20,22,30,.035) 1px,transparent 1.2px),radial-gradient(rgba(20,22,30,.025) 1px,transparent 1px);background-size:3px 3px,7px 7px;background-position:0 0,1px 2px;opacity:var(--grain-opacity);mix-blend-mode:multiply}.mono{font-family:var(--mono);font-feature-settings:"tnum";letter-spacing:.02em}.serif{font-family:var(--display);font-weight:400}.jp-serif{font-family:var(--jp-serif);font-weight:500}.jp{font-family:var(--jp)}.muted{color:var(--ink-3)}.dim{color:var(--ink-4)}.tnum{font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.rule{border:0;border-top:1px solid var(--ink-rule);margin:0}.rule-thick{border:0;border-top:2px solid var(--ink);margin:0}.tick-rule{height:8px;background-image:linear-gradient(to right,var(--ink-rule) 1px,transparent 1px);background-size:12px 8px;border-top:1px solid var(--ink-rule)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;font-family:var(--jp);font-weight:600;font-size:14px;letter-spacing:.02em;border-radius:0;background:var(--ink);color:var(--paper-bright);position:relative;border:1px solid var(--ink);transition:transform 60ms ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);border-color:var(--accent-2);color:var(--paper-bright);box-shadow:0 2px 0 var(--accent-2)}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--ink-rule)}.btn-ghost:hover{border-color:var(--ink)}.btn-sm{height:32px;padding:0 12px;font-size:12px}.btn-lg{height:52px;padding:0 24px;font-size:15px}.field{display:block;padding:12px 14px;background:var(--paper-bright);border:1px solid var(--ink-rule);font-family:var(--jp);width:100%;font-size:15px;color:var(--ink)}.field:focus{border-color:var(--ink)}.label{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:6px}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;border:1px solid currentColor;border-radius:999px;color:var(--ink-3)}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.ok{color:var(--status-ok)}.badge.wip{color:var(--status-wip)}.badge.draft{color:var(--ink-3)}.badge.err{color:var(--status-err)}.card{background:var(--paper-bright);border:1px solid var(--ink-rule);border-radius:2px}.filmstrip{display:flex;background:var(--ink);padding:6px 0;position:relative;border-radius:1px;min-width:0}.filmstrip .frame{flex:1;aspect-ratio:1 / 1;margin:0 4px;background:var(--paper-deep);position:relative;overflow:hidden}.filmstrip .frame:first-child{margin-left:6px}.filmstrip .frame:last-child{margin-right:6px}.filmstrip:before,.filmstrip:after{content:"";position:absolute;left:0;right:0;height:6px;background-image:radial-gradient(circle at 8px center,var(--paper) 1.6px,transparent 1.8px);background-size:16px 6px;background-repeat:repeat-x}.filmstrip:before{top:0}.filmstrip:after{bottom:0}.sprocket{display:flex;gap:6px;align-items:center}.sprocket span{width:6px;height:6px;border-radius:50%;background:var(--ink-rule);flex:none}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-size:22px;font-weight:400;letter-spacing:-.01em;color:var(--ink)}.app{background:var(--paper);width:100%;min-height:100vh;position:relative;overflow-x:hidden;font-family:var(--jp);max-width:480px;margin:0 auto;display:flex;flex-direction:column}@media(min-width:481px){body{background:var(--surround)}.app{box-shadow:0 0 0 1px var(--ink-2),0 30px 80px #00000073;min-height:100vh}}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:480px;margin:0 auto;overflow:hidden}.scroll{overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth}.scroll::-webkit-scrollbar{width:0}.app-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;position:relative}.app-header .back{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.app-header .actions{display:flex;align-items:center;gap:8px}.icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink-rule);background:var(--paper-bright);color:var(--ink)}.icon-btn:hover{border-color:var(--ink)}.page-head{padding:12px 22px 16px;border-bottom:1px solid var(--ink-rule)}.page-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:8px}.page-title{font-family:var(--jp-serif);font-weight:600;font-size:36px;line-height:1.05;letter-spacing:-.01em;color:var(--ink);margin:0}.page-sub{margin-top:6px;font-size:12px;color:var(--ink-3)}.section-head{display:flex;align-items:baseline;justify-content:space-between;padding:18px 22px 10px}.section-head .ttl{font-family:var(--display);font-size:14px;letter-spacing:.02em;font-weight:500}.section-head .ttl-jp{font-family:var(--jp-serif);font-size:15px;font-weight:600}.tabs{display:flex;border-bottom:1px solid var(--ink-rule);padding:0 22px;gap:18px}.tab{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:10px 0;position:relative;white-space:nowrap}.tab.active{color:var(--ink)}.tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}.viewport{background:var(--ink);margin:16px 22px;aspect-ratio:1 / 1;position:relative;overflow:hidden;border:1px solid var(--ink)}.project-row{display:grid;grid-template-columns:1fr;gap:12px;padding:16px 22px;border-bottom:1px solid var(--ink-rule);position:relative;background:var(--paper)}.project-row:hover{background:var(--paper-bright)}.project-row .meta{display:flex;gap:12px;align-items:baseline}.project-row .name{font-family:var(--jp-serif);font-weight:600;font-size:22px;line-height:1.2;letter-spacing:-.01em}.video-row{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:14px 22px;border-bottom:1px solid var(--ink-rule);background:var(--paper)}.video-row:hover{background:var(--paper-bright)}.video-row .thumb{width:64px;height:64px;background:var(--paper-deep);border:1px solid var(--ink);position:relative;overflow:hidden}.video-row .name{font-family:var(--jp-serif);font-weight:600;font-size:16px;line-height:1.2}.video-row .sub{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:4px}.fab{position:fixed;right:max(18px,calc(50vw - 222px));bottom:20px;background:var(--accent);color:var(--paper-bright);height:52px;padding:0 22px 0 18px;display:inline-flex;align-items:center;gap:10px;font-family:var(--jp);font-weight:600;font-size:14px;box-shadow:0 6px 0 var(--accent-2),0 10px 24px #3c140a2e;z-index:30;border:1px solid var(--accent-2)}.fab:active{transform:translateY(2px);box-shadow:0 4px 0 var(--accent-2)}.fab .plus{font-size:22px;line-height:1}.screen-enter{animation:slideIn .28s cubic-bezier(.2,.7,.2,1)}@keyframes slideIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.pulse{animation:pulse 1.4s ease-in-out infinite}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.flex-1{flex:1}.px-22{padding-left:22px;padding-right:22px}.py-16{padding-top:16px;padding-bottom:16px}.header-menu{position:relative}.header-menu-panel{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:var(--paper-bright);border:1px solid var(--ink);box-shadow:0 12px 24px #12131938;z-index:50;padding:6px 0;font-family:var(--jp)}.header-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;font-size:13.5px;background:transparent;border:0;cursor:pointer;color:var(--ink);text-align:left}.header-menu-item:hover{background:var(--paper)}.header-menu-item.featured{color:var(--accent);font-weight:600}.header-menu-item .badge{margin-left:auto;font-family:var(--mono);font-size:9px;color:var(--ink-3);padding:1px 5px;border:1px solid var(--ink-rule);border-radius:2px}.header-menu-divider{border-top:1px solid var(--ink-rule-2);margin:4px 0}.dict-search{display:flex;align-items:center;gap:10px;margin:8px 22px 12px;padding:10px 14px;background:var(--paper-bright);border:1px solid var(--ink-rule);color:var(--ink-3);transition:border-color .12s}.dict-search:focus-within{border-color:var(--ink);color:var(--ink)}.dict-search input{flex:1;min-width:0;background:transparent;border:0;outline:0;font-family:var(--jp);font-size:14px;color:var(--ink)}.dict-search .count{font-family:var(--mono);font-size:10px;color:var(--ink-4);white-space:nowrap}.dict-search .clear-btn{width:20px;height:20px;border-radius:50%;background:var(--paper-dim);color:var(--ink-2);border:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.sort-chip-row{display:flex;align-items:center;gap:8px;padding:0 22px 8px;flex-wrap:wrap}.sort-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:transparent;border:1px solid var(--ink-rule);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);cursor:pointer}.sort-chip.active{background:var(--ink);color:var(--paper-bright);border-color:var(--ink)}.sort-chip-row .meta{font-family:var(--mono);font-size:10px;color:var(--ink-4)}.dent{padding:12px 22px 11px;border-bottom:1px solid var(--ink-rule)}.dent:hover{background:var(--paper-bright)}.dent-grid{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:12px}.dent .surface{font-family:var(--jp-serif);font-weight:600;font-size:18px;color:var(--ink)}.dent .arrow{margin:0 8px;font-size:11px;color:var(--ink-3)}.dent .reading{font-family:var(--jp);font-size:13.5px;font-weight:500;color:var(--ink-2);letter-spacing:.04em}.dent .accent-tag{display:inline-block;margin-left:8px;padding:1px 6px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink-rule);color:var(--ink-3)}.dent .override-tag{margin-left:6px;border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}.dent .memo{margin-top:4px;font-size:11.5px;color:var(--ink-3)}.dent .row-action{display:inline-flex;align-items:center;gap:4px}.dent .row-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--ink-3);border:1px solid transparent;cursor:pointer}.dent .row-btn:hover{color:var(--ink);border-color:var(--ink-rule)}.dent.inherited.overridden .surface,.dent.inherited.overridden .reading,.dent.inherited.overridden .arrow{color:var(--ink-4)}.dent.inherited.overridden .surface,.dent.inherited.overridden .reading{text-decoration:line-through;text-decoration-color:var(--ink-4);text-decoration-thickness:1px}.scope-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;padding:3px 8px 3px 7px;border:1px solid currentColor;border-radius:2px;background:var(--paper-bright);color:var(--ink-2)}.scope-badge.video{color:var(--accent);background:var(--accent-tint)}.scope-badge.project{color:var(--status-ok);background:#e1f5e4}.scope-badge.sm{font-size:9px;padding:2px 7px 2px 6px}.dict-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1213198c;display:flex;align-items:flex-end;z-index:70}.dict-sheet{background:var(--paper-bright);width:100%;max-width:480px;margin:0 auto;border-top:2px solid var(--ink);padding:16px 22px 22px;max-height:94%;overflow-y:auto;animation:slideUp .24s cubic-bezier(.2,.7,.2,1)}.field.field-err{border-color:var(--accent);background:#fff1f0;background:oklch(.97 .03 25)}.err-text{margin-top:4px;font-family:var(--jp);font-size:11.5px;color:var(--accent-2)}.accent-radio{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--ink-rule)}.accent-radio button{padding:9px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;background:transparent;border:0;border-right:1px solid var(--ink-rule);cursor:pointer;color:var(--ink-3)}.accent-radio button:last-child{border-right:0}.accent-radio button.active{background:var(--ink);color:var(--paper-bright)}.accent-radio .ttl{font-family:var(--jp-serif);font-weight:600;font-size:14px}.accent-radio .sub{font-family:var(--mono);font-size:9px;opacity:.75;letter-spacing:.04em}.mora-editor{background:var(--paper);border:1px solid var(--ink-rule);padding:12px 14px}.mora-editor .header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.mora-strip{display:flex;align-items:flex-end;flex-wrap:wrap;padding:12px 8px 8px;background:var(--paper-bright);border:1px solid var(--ink-rule-2);position:relative;min-height:76px}.mora-strip.empty{padding:12px 14px;border-style:dashed;color:var(--ink-4);font-family:var(--jp);font-size:12px}.mora{width:36px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0 2px;background:transparent;border:0;cursor:pointer;position:relative}.mora .dot{width:9px;height:9px;border-radius:50%;background:var(--ink);border:1.5px solid var(--ink);display:inline-block}.mora .dot.low{background:var(--paper-bright)}.mora .lbl{font-family:var(--jp);font-size:14px;font-weight:600;color:var(--ink-2)}.mora .active-underline{position:absolute;bottom:-3px;left:0;right:0;height:2px;background:var(--accent)}.section-strip{display:flex;align-items:baseline;justify-content:space-between;padding:14px 22px 6px}.section-strip .title{font-family:var(--jp-serif);font-weight:600;font-size:14px;color:var(--ink)}.section-strip .count{margin-left:8px;font-family:var(--mono);font-size:9.5px;color:var(--ink-4)}.section-strip .action{background:transparent;border:0;font-family:var(--mono);font-size:10px;color:var(--accent);cursor:pointer;letter-spacing:.08em;text-transform:uppercase}.dict-empty-hint{margin:0 22px 4px;padding:14px 16px;background:var(--paper-bright);border:1px dashed var(--ink-rule);font-family:var(--jp);font-size:11.5px;color:var(--ink-3);line-height:1.6}
