.p24-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding:2.5rem 0 1rem}.p24-hero-copy .p24-title{margin-top:1rem;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;letter-spacing:-.02em;color:var(--color-ink-900);line-height:1.05}.p24-lead{margin-top:1rem;max-width:34rem;font-size:1.05rem;line-height:1.7;color:var(--color-ink-500)}.p24-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.p24-hero-stats{display:flex;gap:2rem;margin:2rem 0 0;padding:0}.p24-hero-stats div{display:flex;flex-direction:column}.p24-hero-stats dt{font-size:.78rem;color:var(--color-ink-400)}.p24-hero-stats dd{margin:0;font-size:1.6rem;font-weight:800;color:var(--color-brand-700)}.p24-hero-art{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:22rem;margin-inline:auto}.p24-card-demo{aspect-ratio:3 / 4;display:grid;place-items:center;border-radius:1rem;background:linear-gradient(160deg,#fff,#f3f0ff);box-shadow:var(--shadow-soft);font-size:2.4rem;font-weight:800;color:var(--color-brand-700);border:1px solid var(--color-brand-100);animation:float-y 3.4s ease-in-out infinite}.p24-card-demo-2{color:var(--color-danger);animation-delay:.4s}.p24-card-demo-3{color:var(--color-danger);animation-delay:.8s}.p24-card-demo-4{animation-delay:1.2s}.p24-hero-eq{grid-column:1 / -1;text-align:center;font-family:var(--font-mono);font-weight:700;color:var(--color-ink-700);background:var(--color-brand-50);border-radius:.75rem;padding:.5rem}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.p24-section{margin-top:3.5rem}.p24-section-head{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}.p24-section-sub{color:var(--color-ink-500);font-size:.95rem}.p24-mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}.p24-mode-card{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem;text-align:left;border-radius:var(--radius-card);border:1.5px solid var(--color-white, #fff);background:#ffffffd9;box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}.p24-mode-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}.p24-mode-card.is-active{border-color:var(--color-brand-400);background:var(--color-brand-50)}.p24-mode-icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:.8rem;background:linear-gradient(135deg,var(--color-brand-500),var(--color-brand-600));color:#fff}.p24-mode-name{font-weight:700;color:var(--color-ink-900)}.p24-mode-desc{font-size:.8rem;color:var(--color-ink-500);line-height:1.4}.p24-play{display:grid;grid-template-columns:16rem 1fr;gap:1.25rem;margin-top:1.5rem}.p24-settings{padding:1.25rem;align-self:start;position:sticky;top:5rem}.p24-set-title{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--color-ink-800);margin-bottom:1rem}.p24-set-block{margin-bottom:1.1rem}.p24-set-label{display:block;font-size:.85rem;font-weight:600;color:var(--color-ink-600);margin-bottom:.5rem}.p24-seg{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}.p24-seg-btn{padding:.5rem;border-radius:.7rem;border:1px solid var(--color-ink-200);background:#fff;color:var(--color-ink-600);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.p24-seg-btn.is-active{background:var(--color-brand-600);border-color:var(--color-brand-600);color:#fff}.p24-diff-note{margin-top:.5rem;font-size:.78rem;color:var(--color-ink-400)}.p24-set-toggle{display:flex;align-items:center;justify-content:space-between}.p24-switch{width:2.8rem;height:1.6rem;border-radius:999px;border:none;background:var(--color-ink-200);position:relative;cursor:pointer;transition:background .2s}.p24-switch.is-on{background:var(--color-brand-500)}.p24-switch-knob{position:absolute;top:.2rem;left:.2rem;width:1.2rem;height:1.2rem;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0003}.p24-switch.is-on .p24-switch-knob{transform:translate(1.2rem)}.p24-start{width:100%;margin-top:.3rem}.p24-set-hint{margin-top:.7rem;font-size:.8rem;color:var(--color-ink-400);text-align:center}.p24-arena{padding:1.5rem;min-height:30rem;display:flex;flex-direction:column}.p24-idle{margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem}.p24-idle-icon{display:grid;place-items:center;width:4.5rem;height:4.5rem;border-radius:1.5rem;background:var(--color-brand-50);color:var(--color-brand-600)}.p24-idle-title{font-size:1.3rem;font-weight:700;color:var(--color-ink-800)}.p24-idle-sub{color:var(--color-ink-400);font-size:.9rem;margin-bottom:.5rem}.p24-arena-top{margin-bottom:1rem}.p24-arena-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.p24-meta{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .7rem;border-radius:.7rem;background:var(--color-ink-50);font-size:.85rem;font-weight:600;color:var(--color-ink-600)}.p24-meta-combo{color:var(--color-warm-600);background:var(--color-warm-50)}.p24-meta-score{color:var(--color-brand-700);background:var(--color-brand-50)}.p24-meta-lives{color:var(--color-danger);background:var(--color-danger-soft)}#timerWrap.is-urgent{color:var(--color-danger);background:var(--color-danger-soft);animation:pulse24 1s ease-in-out infinite}@keyframes pulse24{0%,to{opacity:1}50%{opacity:.5}}.p24-pause-btn{margin-left:auto;padding:.35rem .9rem;border-radius:.7rem;border:1px solid var(--color-ink-200);background:#fff;color:var(--color-ink-600);font-size:.82rem;font-weight:600;cursor:pointer}.p24-deck{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1.25rem}.p24-card{aspect-ratio:3 / 4;border-radius:1rem;border:1px solid #fff;background:linear-gradient(160deg,#fff,#f4f1ff);box-shadow:var(--shadow-soft);cursor:pointer;display:grid;place-items:center;transition:transform .15s,box-shadow .15s,opacity .2s;-webkit-tap-highlight-color:transparent}.p24-card:hover:not(.is-used){transform:translateY(-4px) rotate(-1deg);box-shadow:var(--shadow-lift)}.p24-card:active:not(.is-used){transform:scale(.96)}.p24-card.is-used{opacity:.32;cursor:default;filter:grayscale(.5)}.p24-card-face{font-size:clamp(2rem,6vw,2.8rem);font-weight:800;color:var(--color-ink-900);font-family:var(--font-mono)}.p24-card-face.is-red{color:var(--color-danger)}.p24-card.flash-ok{animation:card-ok .6s ease}.p24-card.flash-err{animation:card-err .45s ease}@keyframes card-ok{0%{box-shadow:0 0 #10b98199}to{box-shadow:0 0 0 18px #10b98100}}@keyframes card-err{0%,to{transform:translate(0)}25%{transform:translate(-7px)}75%{transform:translate(7px)}}.p24-expr-screen{min-height:3.6rem;border-radius:1rem;background:linear-gradient(158deg,#211c4d,#2e2a63 52%,#1d1946);box-shadow:inset 0 1px #ffffff14,inset 0 0 40px #7c3aed2e;display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;padding:.9rem 1.1rem;font-family:var(--font-mono);font-size:1.5rem;color:#fff;margin-bottom:.85rem}.p24-ph{color:#ffffff80;font-size:1rem;font-family:var(--font-sans)}.p24-tok{font-weight:700}.p24-num{color:#a5f3fc}.p24-op{color:#fbbf24}.p24-eq{color:#ffffff8c;font-size:1.1rem}.p24-feedback{min-height:1.4rem;font-size:.95rem;font-weight:600;margin-bottom:.85rem;text-align:center;opacity:0;transition:opacity .2s}.p24-feedback.is-ok{opacity:1;color:var(--color-success)}.p24-feedback.is-err{opacity:1;color:var(--color-danger)}.p24-feedback.is-info{opacity:1;color:var(--color-brand-600)}.p24-op-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:.7rem}.p24-op-btn{height:3rem;border-radius:.9rem;border:1px solid var(--color-brand-100);background:var(--color-brand-50);color:var(--color-brand-700);font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .15s}.p24-op-btn:hover{background:var(--color-brand-100)}.p24-op-btn:active{transform:scale(.94)}.p24-control-row{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-bottom:.85rem}.p24-ctrl{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.6rem .3rem;border-radius:.8rem;border:1px solid var(--color-ink-200);background:#fff;color:var(--color-ink-600);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.p24-ctrl:hover{border-color:var(--color-brand-300);color:var(--color-brand-700);background:#fff}.p24-ctrl:active{transform:scale(.96)}.p24-submit{width:100%;padding:.95rem;border-radius:1rem;border:none;background:linear-gradient(to right,#f59e0b,#d97706);color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer;box-shadow:0 8px 20px -6px #f59e0bb3;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:filter .15s,transform .15s}.p24-submit:hover{filter:brightness(1.05)}.p24-submit:active{transform:scale(.98)}.p24-solution{margin-top:1rem;max-height:0;overflow:hidden;transition:max-height .3s ease,opacity .3s;opacity:0}.p24-solution.is-open{max-height:30rem;opacity:1}.p24-sol-title{font-size:.85rem;color:var(--color-ink-500);margin-bottom:.6rem}.p24-sol-item{display:block;padding:.55rem .8rem;margin-bottom:.4rem;border-radius:.7rem;background:var(--color-ink-50);font-family:var(--font-mono);font-size:.95rem;color:var(--color-ink-800);border-left:3px solid var(--color-brand-400)}.p24-result{margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.8rem}.p24-result-badge{padding:.4rem 1rem;border-radius:999px;background:var(--color-brand-50);color:var(--color-brand-700);font-weight:700;font-size:.9rem}.p24-result-title{font-size:1.5rem;font-weight:800;color:var(--color-ink-900)}.p24-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;width:100%;max-width:24rem}.p24-result-grid div{background:var(--color-ink-50);border-radius:.9rem;padding:.9rem;display:flex;flex-direction:column;gap:.2rem}.p24-result-grid span{font-size:.8rem;color:var(--color-ink-400)}.p24-result-grid b{font-size:1.5rem;color:var(--color-ink-900)}.p24-result-actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center}.p24-growth-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:1.1rem}.p24-card-h{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--color-ink-800);margin-bottom:1rem}.p24-chart-card,.p24-history-card{padding:1.25rem}.p24-chart-wrap{position:relative;height:11rem}.p24-chart{width:100%;height:100%;overflow:visible}.p24-chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--color-ink-400);font-size:.85rem}.p24-best-row{display:flex;gap:1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-ink-100)}.p24-best-row div{display:flex;flex-direction:column}.p24-best-row span{font-size:.78rem;color:var(--color-ink-400)}.p24-best-row b{font-size:1.3rem;color:var(--color-brand-700)}.p24-session-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:16rem;overflow-y:auto}.p24-session{display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem;border-radius:.7rem;background:var(--color-ink-50);font-size:.82rem}.p24-s-tag{padding:.15rem .55rem;border-radius:999px;font-weight:700;font-size:.72rem}.p24-s-free{background:var(--color-ink-200);color:var(--color-ink-700)}.p24-s-timed{background:#cffafe;color:var(--color-accent-600)}.p24-s-stage{background:#ede9fe;color:var(--color-brand-700)}.p24-s-daily{background:var(--color-warm-100);color:var(--color-warm-600)}.p24-s-date{color:var(--color-ink-400)}.p24-s-stat{color:var(--color-ink-600);margin-left:auto}.p24-s-score{font-weight:700;color:var(--color-ink-800)}.p24-session-empty,.p24-chart-empty{color:var(--color-ink-400)}.p24-skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.p24-skill{padding:1.25rem}.p24-skill-title{font-weight:700;color:var(--color-ink-900);margin-bottom:.4rem}.p24-skill-desc{font-size:.88rem;color:var(--color-ink-500);line-height:1.6}.p24-skill-formula{display:block;margin-top:.8rem;padding:.6rem .8rem;border-radius:.7rem;background:var(--color-ink-50);font-family:var(--font-mono);font-size:.9rem;color:var(--color-brand-700)}.p24-faq{display:flex;flex-direction:column;gap:.6rem}.p24-faq-item{border:1px solid var(--color-white, #fff);background:#ffffffd9;border-radius:var(--radius-sm);box-shadow:var(--shadow-relief);overflow:hidden}.p24-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;cursor:pointer;font-weight:600;color:var(--color-ink-800);list-style:none}.p24-faq-item summary::-webkit-details-marker{display:none}.p24-faq-caret{color:var(--color-ink-400);transition:transform .2s;flex-shrink:0}.p24-faq-item[open] .p24-faq-caret{transform:rotate(180deg)}.p24-faq-body{padding:0 1.2rem 1.1rem;color:var(--color-ink-500);font-size:.92rem;line-height:1.7}@media(max-width:900px){.p24-hero{grid-template-columns:1fr}.p24-hero-art{display:none}.p24-play{grid-template-columns:1fr}.p24-settings{position:static}.p24-mode-grid{grid-template-columns:repeat(2,1fr)}.p24-growth-grid{grid-template-columns:1fr}.p24-skill-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.p24-mode-grid,.p24-skill-grid{grid-template-columns:1fr}.p24-control-row{grid-template-columns:repeat(3,1fr)}.p24-hero-stats{gap:1.2rem}}
