:root{--kana: "Noto Sans JP", sans-serif}.tp-page-intro{margin-bottom:28px}.tp-page-intro h1{font-size:24px;font-weight:400;font-family:"Noto Sans Mono",var(--mono);color:var(--text);letter-spacing:-.02em;line-height:1.2;margin-bottom:8px}.tp-page-intro p{font-size:13px;color:var(--text-2);line-height:1.6;max-width:580px}.wp-resume-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;margin-bottom:14px;border-radius:99px;background:var(--green-bg);border:1px solid rgba(42,122,80,.25);font-size:12px;color:var(--green);font-family:var(--mono)}.wp-resume-chip-icon{font-size:13px;line-height:1}.wp-resume-chip-text{line-height:1.3}.wp-resume-chip-reset{color:var(--text-2);text-decoration:underline;text-underline-offset:2px;margin-left:4px}.wp-resume-chip-reset:hover{color:var(--text)}.wp-topic-tabs{display:grid;grid-auto-flow:column;grid-template-rows:repeat(6,auto);grid-auto-columns:max-content;gap:4px 6px;margin-bottom:20px;padding-bottom:6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.wp-topic-tabs::-webkit-scrollbar{height:6px}.wp-topic-tabs::-webkit-scrollbar-track{background:transparent}.wp-topic-tabs::-webkit-scrollbar-thumb{background:var(--border-md);border-radius:3px}.wp-topic-tab{padding:4px 12px;border-radius:99px;border:1px solid var(--border);font-size:12px;font-family:var(--mono);cursor:pointer;background:transparent;color:var(--text-2);transition:all .12s;white-space:nowrap}.wp-topic-tab:hover{border-color:var(--border-md);color:var(--text)}.wp-topic-tab.active{border-color:var(--accent);color:var(--text);background:var(--surface)}.wp-topic-tab.locked{color:var(--text-3, var(--text-2));opacity:.55;background:transparent}.wp-topic-tab.locked:hover{border-color:var(--border);color:var(--text-2)}.wp-topic-tab-lock{display:inline-block;margin-right:4px;font-size:10px;line-height:1;vertical-align:baseline}.wp-topic{background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);padding:22px;margin-bottom:18px}.wp-topic-title{font-size:16px;font-weight:600;color:var(--text);margin-bottom:18px;font-family:"Noto Sans Mono",var(--mono)}.wp-words-list{display:flex;flex-direction:column;gap:22px}.wp-word{display:flex;flex-direction:column;gap:10px}.wp-word-header{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.wp-word-kana-pair{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.wp-word-kana{font-family:var(--kana);font-size:18px;font-weight:500;color:var(--text)}.wp-word-romaji{font-family:var(--mono);font-size:12px;color:var(--text-3);letter-spacing:.03em}.wp-word-en{font-size:13px;color:var(--text-2)}.wp-word-example{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--bg);border-left:2px solid var(--border-md, var(--border));border-radius:4px}.wp-word-example-jp{font-family:var(--kana);font-size:13px;color:var(--text-2);line-height:1.5}.wp-word-example-en{font-size:12px;color:var(--text-3);line-height:1.4}.wp-word-cells{display:flex;gap:8px;width:100%}.wp-word-clear{font-size:11px;font-family:var(--mono);color:var(--text-3);background:transparent;border:none;cursor:pointer;padding:4px 0;align-self:flex-start}.wp-word-clear:hover{color:var(--text)}.wp-word-speak{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-2);cursor:pointer;transition:background .12s,color .12s,transform .08s}.wp-word-speak:hover{background:var(--surface);color:var(--text)}.wp-word-speak:active{transform:scale(.94)}.wp-word-speak svg{width:14px;height:14px;display:block}body.state-anon .wp-word-speak{opacity:.45}body.state-anon .wp-word-speak:hover{background:transparent;color:var(--text-2)}.wp-cell{position:relative;flex:0 0 calc((100% - (var(--cell-divisor, 4) - 1) * 8px) / var(--cell-divisor, 4));aspect-ratio:1;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;background:#fefefe}.wp-cell canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.wp-cell-overlay{position:absolute;inset:0;pointer-events:none}.wp-cell-overlay svg.wp-grid{position:absolute;inset:0;width:100%;height:100%}.wp-cell-guide{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--kana);font-weight:400;font-size:min(110px,19vw);color:#00000017;user-select:none;white-space:nowrap;line-height:1}.wp-word-cells[style*="--cell-divisor: 5"] .wp-cell-guide{font-size:min(90px,15vw)}.wp-word-cells[style*="--cell-divisor: 6"] .wp-cell-guide{font-size:min(75px,12.5vw)}.wp-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px}.wp-page-btn{padding:8px 14px;border-radius:var(--r);border:1px solid var(--border);background:transparent;color:var(--text-2);font-family:inherit;font-size:13px;cursor:pointer;transition:border-color .15s,color .15s,opacity .15s}.wp-page-btn:hover:not(:disabled){border-color:var(--border-md);color:var(--text)}.wp-page-btn:disabled{opacity:.35;cursor:default}.wp-page-info{font-size:12px;font-family:var(--mono);color:var(--text-3)}@media(max-width:580px){.tp-page-intro h1{font-size:19px;margin-bottom:10px}.wp-topic{padding:18px 16px}.wp-topic-title{font-size:15px}.wp-word-kana{font-size:17px}.wp-word-header{flex-direction:column;align-items:flex-start;gap:4px}.wp-word-cells{flex-direction:column;gap:10px}.wp-cell{flex:0 0 auto;width:100%;max-width:200px}.wp-cell-guide,.wp-word-cells[style*="--cell-divisor: 5"] .wp-cell-guide,.wp-word-cells[style*="--cell-divisor: 6"] .wp-cell-guide{font-size:min(140px,36vw)}.wp-pagination{flex-wrap:wrap;gap:8px;row-gap:10px}.wp-page-btn{padding:7px 11px;font-size:12px}.wp-page-info{font-size:11px}}
