.typing-plaza,.typing-plaza-dialog{--tp-ok:#2f8f5b;--tp-accent:#e8573f;--tp-muted:#607267;--tp-round:"Arial Rounded MT Bold", "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif;--tp-cap-h:64px;color:var(--ink,#304d42)}.typing-plaza{gap:18px;max-width:1180px;display:grid}.tp-body{gap:18px;min-width:0;display:grid}.tp-body[hidden]{display:none}.member-scene .typing-plaza.main-panel{box-shadow:none;background:0 0;border:0;padding:0}.typing-plaza :is(h1,h2,h3){letter-spacing:0;margin:0}.tp-panel{background:#f7f9f0f2;border:1px solid #ffffffa0;border-radius:24px;min-width:0;padding:22px;box-shadow:0 10px 28px #203b3024}.typing-plaza .status-panel{margin:0}.tp-hero{gap:14px;display:grid}.tp-hero-top{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.tp-hero h1{font-size:28px;line-height:1.3}.tp-total{align-items:center;gap:10px;margin-left:auto;display:flex}.tp-total[hidden]{display:none}.tp-ring{--p:0;background:conic-gradient(#3f9a64 calc(var(--p) * 1%), #dfe6d8 0);border-radius:50%;flex:none;place-items:center;width:56px;height:56px;display:grid;position:relative}.tp-ring:after{content:"";background:#f7f9f0;border-radius:50%;position:absolute;inset:7px}.tp-ring span{z-index:1;font:800 13px/1 var(--tp-round);position:relative}.tp-total b{font:800 22px/1.1 var(--tp-round);display:block}.tp-total small{color:var(--tp-muted);font-size:12px;display:block}.tp-hero-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.typing-plaza .typing-admin-actions{gap:8px;margin:0;display:flex}.typing-plaza .typing-admin-actions[hidden]{display:none}.tp-button{min-height:44px;font:inherit;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:800;line-height:1.3;text-decoration:none;display:inline-flex}.tp-button[hidden]{display:none}.tp-button svg,:is(.typing-plaza,.typing-plaza-dialog) .tp-button .dashboard-icon{flex:none;width:18px;height:18px}.tp-button-ghost{color:var(--ink,#304d42);background:#fff;border:1.5px solid #c7d4c3}.tp-button-ghost:hover{border-color:#376c51}.tp-button-primary{color:#fff;background:#376c51;border:0;box-shadow:0 4px #24503a}.tp-button-primary:hover{transform:translateY(2px);box-shadow:0 2px #24503a}.tp-chips{flex-wrap:wrap;gap:8px;display:flex}.tp-chip{min-height:40px;color:var(--ink,#304d42);font:inherit;cursor:pointer;background:#fff;border:1.5px solid #d4ddd0;border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 8px;font-size:14px;font-weight:800;display:inline-flex}.tp-chip:not(:has(.tp-mark)){padding-left:14px}.tp-chip small{color:var(--tp-muted);font-size:12px;font-weight:700}.tp-chip[aria-pressed=true]{color:#fff;background:#304d42;border-color:#304d42}.tp-chip[aria-pressed=true] small{color:#cfe0d4}.tp-mark{border:2px solid var(--tp-side);background:var(--tp-face);width:24px;height:24px;color:var(--tp-ink);font:800 11px/1 var(--tp-round);border-radius:7px;flex:none;place-items:center;display:grid}.tp-mark svg,:is(.typing-plaza,.typing-plaza-dialog) .tp-mark .dashboard-icon{width:15px;height:15px}.tp-mark-new{--tp-face:#ffe1d9;--tp-side:#e8573f;--tp-ink:#8a2a17;letter-spacing:.04em}.tp-section-head{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px;display:flex}.tp-section-head h2{font-size:19px}.tp-section-head .tp-mark{border-bottom-width:4px;border-radius:10px;width:34px;height:34px;font-size:15px}.tp-section-head .tp-mark svg,.typing-plaza .tp-section-head .tp-mark .dashboard-icon{width:19px;height:19px}.tp-section-head .tp-mark-new{font-size:10px}.tp-count{color:var(--tp-muted);font-size:13px;font-weight:800}.tp-bar{background:#e1e8dc;border-radius:99px;width:150px;height:8px;display:block;overflow:hidden}.tp-bar i{border-radius:inherit;background:var(--tp-side,#3f9a64);height:100%;display:block}.tp-where{color:#4d6456;background:#fff;border:1.5px solid #dbe3d6;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800}.tp-more{color:#376c51;font:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:8px 4px;font-size:13px;font-weight:800}.tp-more:hover{text-decoration:underline}.tp-key{flex-direction:column;align-items:center;min-width:0;list-style:none;display:flex;position:relative}.tp-key-link{width:100%;color:inherit;flex-direction:column;align-items:center;gap:5px;text-decoration:none;display:flex}.tp-cap{z-index:1;width:100%;height:var(--tp-cap-h);border:2px solid var(--tp-side);background:var(--tp-face);border-bottom-width:7px;border-radius:13px;place-items:center;transition:transform 80ms,border-bottom-width 80ms;display:grid;position:relative}.tp-key-link:hover .tp-cap,.tp-key-link:focus-visible .tp-cap{border-bottom-width:4px;transform:translateY(3px)}.tp-key-link:focus-visible{outline:none}.tp-key-link:focus-visible .tp-cap{outline-offset:3px;outline:3px solid #14281f}.tp-label{color:var(--tp-ink);font:800 19px/1 var(--tp-round);letter-spacing:.02em;white-space:nowrap}.tp-label.is-mid{font-size:15px}.tp-label.is-long{letter-spacing:0;font-size:11.5px}.tp-key-title,.tp-key-sub{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tp-key-title{font-size:12px;font-weight:800}.tp-key-sub{color:var(--tp-muted);margin-top:-4px;font-size:11px}.tp-key-ok,.tp-key-new,.tp-key-next,.tp-key-shroom{z-index:3;pointer-events:none;position:absolute}.tp-key-ok{background:var(--tp-ok);color:#fff;border:2px solid #fff;border-radius:999px;align-items:center;gap:3px;padding:1px 8px 1px 5px;font-size:11px;font-weight:800;display:inline-flex;top:-9px;right:-6px}.tp-key-ok svg{width:11px;height:11px}.tp-key-shroom{width:28px;height:31px;top:-15px;left:-7px}.tp-key-shroom svg{width:100%;height:100%;display:block}.tp-key-new{top:calc(var(--tp-cap-h) - 16px);background:var(--tp-accent);color:#fff;font:800 11px/1.4 var(--tp-round);letter-spacing:.06em;border-radius:8px 8px 8px 2px;padding:1px 8px;left:-6px}.tp-key-next{z-index:4;background:var(--tp-accent);color:#fff;white-space:nowrap;border-radius:999px;padding:1px 10px;font-size:11px;font-weight:800;animation:1.2s ease-in-out infinite tp-bob;top:-11px;left:50%;transform:translate(-50%)}.tp-key-info{top:calc(var(--tp-cap-h) - 18px);z-index:4;width:28px;height:28px;color:var(--tp-muted);cursor:pointer;background:#fff;border:1.5px solid #cdd8c9;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;right:-8px}.tp-key-info:before{content:"";position:absolute;inset:-8px}.tp-key-info svg{width:15px;height:15px}.tp-key-info:hover,.tp-key-info:focus-visible{color:#376c51;border-color:#376c51}.tp-key.is-challenge .tp-cap{border-color:color-mix(in srgb, var(--tp-side) 70%, #000);background:var(--tp-side)}.tp-key.is-challenge .tp-label{color:#fff}.tp-crown{color:#fff6c9;width:17px;height:17px;position:absolute;top:7px;left:9px}.tp-crown svg{width:100%;height:100%;display:block}.tp-key.is-untried .tp-cap{background:color-mix(in srgb, var(--tp-face) 55%, #fff)}.tp-key.is-untried.is-challenge .tp-cap{border-color:var(--tp-side);background:color-mix(in srgb, var(--tp-side) 30%, #fff)}.tp-key.is-untried.is-challenge :is(.tp-label,.tp-crown){color:var(--tp-ink)}.tp-key.is-current .tp-cap{outline:3px solid var(--tp-accent);outline-offset:3px;animation:1.6s infinite tp-pulse}@keyframes tp-pulse{0%{box-shadow:0 0 #e8573f66}to{box-shadow:0 0 0 16px #e8573f00}}@keyframes tp-bob{50%{transform:translate(-50%,-4px)}}.tp-grid,.tp-mini-road,.tp-land-keys{list-style:none}.tp-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:26px 14px;margin:0;padding:12px 0 0;display:grid}.tp-grid .tp-key.is-challenge{grid-column:span 2}.tp-mini-road{align-items:flex-start;gap:22px;margin:0;padding:16px 10px 6px;display:flex;overflow:hidden}.tp-mini-road>.tp-key{flex:0 0 96px}.tp-mini-road>.tp-key.is-challenge{flex-basis:150px}.tp-mini-road>.tp-key:not(:first-child):before{content:"";top:calc(var(--tp-cap-h) / 2 - 6px);background:#fff;width:30px;height:12px;position:absolute;right:calc(100% - 4px);box-shadow:inset 0 2px #e6dcc4,inset 0 -2px #e6dcc4}.tp-mini-road-skip,.tp-mini-road-rest{margin-top:calc(var(--tp-cap-h) / 2 - 11px);color:#8a998e;background:#fff;border-radius:8px;flex:none;padding:2px 8px;font-size:12px;font-weight:800}.tp-course{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:20px;display:grid}.tp-course-head{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:12px;display:flex}.tp-course-head h2{font-size:20px}.tp-course-head .tp-bar{flex:1;min-width:120px;height:12px}.tp-goal{color:#b1462f;font-size:13px;font-weight:800}.tp-course-note{color:var(--tp-muted);flex-basis:100%;margin:0;font-size:12px;font-weight:700}.tp-road{z-index:0;position:relative}.tp-road-path{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:visible}.tp-land{background:color-mix(in srgb, var(--tp-land) 82%, transparent);border:2px dashed #fffc;border-radius:22px;position:absolute;left:0;right:0}.tp-land-name{z-index:3;color:#4d6456;font:800 13px/1 var(--tp-round);background:#fffffff0;border-radius:999px;padding:5px 10px;position:absolute;top:9px;left:14px}.tp-land-keys{margin:0;padding:0}.tp-road .tp-key{z-index:2;width:var(--tp-key-w,84px);transform:translate(-50%, calc(var(--tp-cap-h) / -2));position:absolute}.tp-road .tp-key.is-challenge{width:var(--tp-challenge-w,136px)}.tp-kun{z-index:3;pointer-events:none;width:58px;height:62px;position:absolute;transform:translate(-50%,-100%)}.tp-kun.is-small{width:40px;height:43px}.tp-kun svg{width:100%;height:100%;display:block}.tp-bubble{z-index:4;white-space:nowrap;pointer-events:none;background:#fff;border:2px solid #3d5244;border-radius:14px;padding:4px 12px;font-size:13px;font-weight:800;line-height:1.4;position:absolute;transform:translate(-50%,-100%)}.tp-bubble.is-small{padding:2px 9px;font-size:12px}.tp-bubble:after{content:"";background:#fff;border-bottom:2px solid #3d5244;border-right:2px solid #3d5244;width:12px;height:12px;position:absolute;bottom:-9px;left:18px;transform:rotate(45deg)}.tp-next{background:#fff;border:1.5px solid #dbe3d6;border-radius:20px;gap:8px;padding:18px;display:grid;position:sticky;top:18px}.tp-next-label{background:var(--tp-accent);color:#fff;border-radius:999px;justify-self:start;padding:3px 12px;font-size:12px;font-weight:800}.tp-next.is-complete .tp-next-label{background:var(--tp-ok)}.tp-crumb{color:var(--tp-muted);align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.tp-crumb i{background:var(--tp-side);border-radius:3px;flex:none;width:10px;height:10px}.tp-next .tp-key,.tp-detail .tp-key{--tp-cap-h:88px}.tp-next .tp-label,.tp-detail .tp-label{font-size:26px}.tp-next .tp-label.is-long,.tp-detail .tp-label.is-long{font-size:16px}.tp-next h3{font-size:17px}.tp-next p,.tp-detail p{color:#4f6357;margin:0;font-size:13px}.tp-stars{color:#e0a526;letter-spacing:1px;font-size:13px}.tp-stars .off{color:#cfd6ca}.tp-score{color:var(--tp-muted);gap:5px;font-size:12px;font-weight:700;display:grid}.tp-score .tp-bar{width:100%;height:10px}.tp-score strong{color:#b1462f}.tp-score strong.is-ok{color:var(--tp-ok)}.tp-next-actions{gap:8px;margin-top:4px;display:grid}.tp-next .tp-button{width:100%}.typing-plaza-dialog.typing-ranking-dialog{width:min(560px,100vw - 28px);padding:22px}.tp-detail{gap:10px;margin-bottom:18px;display:grid}.tp-detail-head{align-items:flex-start;gap:10px;padding-right:64px;display:flex}.tp-detail-head h2{font-size:19px;line-height:1.4}.tp-detail .tp-key{width:180px}.tp-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.tp-detail-edit{color:#365841;background:#fffaf0;border:1px solid #bdccbe;border-radius:12px;flex:none;padding:5px 10px;font-size:12px;text-decoration:none}.typing-plaza-dialog .typing-dialog-close{float:none;position:absolute;top:18px;right:18px}.typing-plaza-dialog>h2{border-top:1px solid #d8dfd1;margin:0 0 10px;padding-top:14px;font-size:16px}.typing-plaza-dialog .typing-ranking-list{max-height:320px;overflow:auto}@media (width<=968px){.member-scene .typing-plaza.main-panel{padding-top:48px}}@media (width<=1100px){.tp-course{grid-template-columns:minmax(0,1fr) 240px}}@media (width<=860px){.tp-course{grid-template-columns:minmax(0,1fr)}.tp-next{grid-row:1;grid-template-columns:96px minmax(0,1fr);align-items:center;column-gap:14px;padding:14px;position:static}.tp-next>*{grid-column:1/-1}.tp-next>.tp-next-label{grid-area:1/2;align-self:end}.tp-next>h3{grid-area:2/2;align-self:start;font-size:16px}.tp-next>.tp-key{--tp-cap-h:64px;grid-area:1/1/span 2}.tp-next .tp-label{font-size:19px}.tp-next .tp-label.is-long{font-size:12px}.tp-next>p{display:none}}@media (width<=780px){.typing-plaza{--tp-cap-h:56px;gap:14px}.tp-panel{border-radius:20px;padding:16px}.tp-hero h1{font-size:23px}.tp-total{margin-left:0}.tp-chips{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:2px 16px 6px;overflow-x:auto}.tp-chip{flex:none}.tp-label{font-size:16px}.tp-label.is-mid{font-size:13px}.tp-label.is-long{font-size:10px}.tp-crown{width:13px;height:13px;top:5px;left:6px}.tp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 10px}.tp-grid .tp-key.is-challenge{grid-column:span 3}.tp-mini-road{gap:16px;margin:0 -16px;padding:16px 16px 6px}.tp-mini-road>.tp-key{flex-basis:82px}.tp-mini-road>.tp-key.is-challenge{flex-basis:112px}.tp-mini-road>.tp-key:not(:first-child):before{width:24px}.tp-mini-road-skip{display:none}.tp-next-actions{grid-template-columns:minmax(0,1fr) auto}.tp-next-actions .tp-button{white-space:nowrap;padding:9px 12px;font-size:14px}.tp-more{margin-left:0}}@media (prefers-reduced-motion:reduce){.tp-key-next,.tp-key.is-current .tp-cap{animation:none}.tp-cap,.tp-button-primary{transition:none}}
