:root{--bg:#f7f7f2;--text:#202a36;--muted:#5b6673;--line:#d9dbd3;--card:#fff;--primary:#375ceb;--primary-text:#fff;--line-cta:#06c755;--line-cta-text:#102a1b;--focus:#1f3fbf;--danger:#b3261e;--idea:#375ceb;--empathy:#15968f;--expression:#ea7562;--analysis:#7864c4;--planning:#b48d35;--action:#487a98;--max-w:480px;--tap:48px;--radius:14px;--fade:.15s;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{background:var(--bg);color:var(--text);overscroll-behavior:none;margin:0;padding:0}body{touch-action:manipulation}body:has(.shell:not(.shell--tall)){touch-action:none;width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}:is(body:has(.shell:not(.shell--tall)) input,body:has(.shell:not(.shell--tall)) textarea,body:has(.shell:not(.shell--tall)) button,body:has(.shell:not(.shell--tall)) a){touch-action:manipulation}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,BIZ UDPGothic,Yu Gothic UI,Yu Gothic,Meiryo,system-ui,sans-serif;font-size:16px;line-height:1.5}img{max-width:100%;display:block}img,svg{-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}img:not([data-testid=card-preview]){pointer-events:none}button{font:inherit;color:inherit}a{color:var(--primary)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.ja-phrase{word-break:keep-all;overflow-wrap:anywhere}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.shell{height:100dvh;min-height:100dvh;max-width:var(--max-w);padding:calc(var(--sat) + 8px) calc(var(--sar) + 16px) calc(var(--sab) + 10px) calc(var(--sal) + 16px);grid-template-rows:auto 1fr auto;gap:10px;margin:0 auto;display:grid}.shell--tall{height:auto;min-height:100dvh}.shell__header{justify-content:space-between;align-items:center;gap:8px;min-height:32px;display:flex}.shell__main{flex-direction:column;justify-content:center;gap:12px;min-height:0;display:flex}.shell__footer{flex-direction:column;gap:10px;padding-top:4px;display:flex}@media (max-width:319px),(max-height:520px){.shell{height:auto;min-height:100dvh}body:has(.shell:not(.shell--tall)){touch-action:manipulation;height:auto;position:static;overflow:auto}}.brand{color:var(--text);align-items:center;text-decoration:none;display:inline-flex}.brand-logo{width:auto;height:28px;display:block}.product{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.product__icon{flex:none;width:13px;height:13px}.h1{margin:0;font-size:clamp(20px,6vw,26px);font-weight:700;line-height:1.3}.h2{margin:0;font-size:clamp(17px,5vw,20px);font-weight:700;line-height:1.4}.lead{margin:0;font-size:15px}.note{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.center{text-align:center}.btn{width:100%;min-height:var(--tap);border-radius:var(--radius);cursor:pointer;transition:opacity var(--fade) ease;border:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:16px;font-weight:700;line-height:1.25;text-decoration:none;display:flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.btn--line{background:var(--line-cta);color:var(--line-cta-text);border-color:var(--line-cta);min-height:52px}.btn--outline{background:var(--card);color:var(--text);border-color:var(--text)}.btn--ghost{color:var(--primary);background:0 0;border-color:#0000;min-height:40px;font-size:14px}.btn--sm{min-height:44px;padding:8px 10px;font-size:14px}.btn-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.links{justify-content:center;gap:18px;font-size:12px;display:flex}.links a,.links button{color:var(--muted);cursor:pointer;background:0 0;border:0;min-height:28px;padding:4px 0;font-size:12px;text-decoration:underline}.view{animation:fade var(--fade) ease-out both}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.view{animation:none}.btn{transition:none}}.badge{border:1px solid;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.badge--demo{color:#8a5a00;background:#fff4d6;border-color:#e0b64a}.card-frame{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
