:root{--bg:#f7f2e7;--surface:#fff;--navy:#1f2a44;--navy-soft:#3a4668;--accent:#e0a23b;--accent-strong:#c2831f;--good:#3a7d5c;--bad:#c24b4b;--border:#ddd3bd;--text:#2a2a2a;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font:16px/1.6 system-ui,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3,h4{color:var(--navy);margin:0 0 8px}p{margin:0 0 8px}button{cursor:pointer;font-family:inherit}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.app-shell{background:var(--surface);flex-direction:column;width:100%;max-width:480px;min-height:100svh;margin:0 auto;display:flex;box-shadow:0 0 24px #0000000f}.screen{flex-direction:column;flex:1;gap:14px;min-width:0;padding:16px 16px 32px;display:flex}.screen-title{font-size:22px}.screen-sub{color:var(--navy-soft)}.primary-btn,.secondary-btn,.danger-btn{border:none;border-radius:12px;width:100%;min-height:48px;padding:10px 16px;font-size:16px;font-weight:700}.primary-btn{background:var(--navy);color:#fff}.primary-btn:disabled{cursor:not-allowed;background:#b9bdc9}.secondary-btn{background:var(--bg);color:var(--navy);border:1px solid var(--border)}.danger-btn{background:var(--bad);color:#fff}.page-header{align-items:center;gap:8px;display:flex}.page-header h1{margin:0;font-size:18px}.back-btn{min-width:44px;min-height:44px;color:var(--navy);background:0 0;border:none;font-size:20px}.char-bubble{background:var(--bg);border-radius:14px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.char-art svg{width:100%;height:100%;display:block}.char-bubble-text{flex:1;min-width:0}.char-bubble-name{color:var(--accent-strong);font-size:12px;font-weight:700}.char-bubble-text p{margin:2px 0 0;font-size:14px}.char-card-list{flex-direction:column;gap:10px;display:flex}.char-card{text-align:left;background:var(--bg);border:2px solid var(--border);border-radius:14px;align-items:center;gap:12px;min-height:44px;padding:12px;display:flex}.char-card-selected{border-color:var(--accent);background:#fdf3df}.char-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.char-card-personality{color:var(--navy-soft);font-size:13px}.char-card-sample{color:var(--navy-soft);font-size:12px}.home-stats{gap:8px;display:flex}.stat-box{background:var(--bg);border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px;display:flex}.stat-label{color:var(--navy-soft);font-size:11px}.stat-value{color:var(--navy);font-size:16px;font-weight:700}.rank-hint{color:var(--navy-soft);font-size:12px}.home-menu{flex-direction:column;gap:10px;display:flex}.menu-btn{background:var(--bg);border:1px solid var(--border);text-align:left;border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;min-height:56px;padding:12px 14px;display:flex}.menu-btn-icon{font-size:20px}.menu-btn-label{color:var(--navy);font-weight:700}.menu-btn-sub{color:var(--navy-soft);font-size:12px}.locked-section h2{color:var(--navy-soft);font-size:14px}.locked-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.locked-list li{color:var(--navy-soft);background:var(--bg);border-radius:8px;padding:4px 8px;font-size:12px}.settings-section{border-top:1px solid var(--border);padding-top:12px}.settings-warning{color:var(--bad);font-size:13px}.confirm-box{background:#fdecec;border-radius:10px;padding:10px}.confirm-actions{gap:8px;margin-top:8px;display:flex}.quest-card{background:var(--bg);border-radius:14px;flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex}.incident-text{font-size:14px;line-height:1.7}.tab-bar{gap:6px;display:flex}.tab-btn{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--navy-soft);border-radius:10px;flex:1;font-weight:700}.tab-btn-active{background:var(--navy);color:#fff;border-color:var(--navy)}.unit-note{color:var(--navy-soft);font-size:12px}.statement-table{border-collapse:collapse;width:100%;font-size:13px}.statement-table th,.statement-table td{border-bottom:1px solid var(--border);text-align:right;padding:6px 4px}.statement-table th[scope=row]{text-align:left;font-weight:500}.statement-table thead th{text-align:right;color:var(--navy-soft);font-size:12px}.statement-table thead th:first-child{text-align:left}.row-total td,.row-total th{color:var(--navy);font-weight:700}.term-tap-btn{color:var(--accent-strong);font-size:inherit;text-align:left;background:0 0;border:none;min-height:32px;padding:0;text-decoration:underline}.kpi-block{background:var(--surface);border-radius:10px;padding:10px}.kpi-list{flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.tap-progress,.hint-text{color:var(--navy-soft);font-size:13px}.quiz-box,.choice-list{flex-direction:column;gap:8px;display:flex}.choice-btn{text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:10px;min-height:44px;padding:10px}.choice-btn-selected{border-color:var(--accent);background:#fdf3df}.choice-card{text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.choice-card p{color:var(--navy-soft);margin:0;font-size:13px}.choice-card-selected{border-color:var(--accent);background:#fdf3df}.clear-box{text-align:center;flex-direction:column;gap:8px;display:flex}.stars{color:var(--accent);margin:0;font-size:28px}.retry-hint{color:var(--bad);font-size:13px}.discovered-count{color:var(--navy-soft);font-size:13px}.sheet-overlay{z-index:50;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-panel{background:var(--surface);border-radius:18px 18px 0 0;width:100%;max-width:480px;max-height:80vh;padding:20px 16px 28px;position:relative;overflow-y:auto}.sheet-close{background:var(--bg);border:none;border-radius:50%;min-width:36px;min-height:36px;font-size:18px;position:absolute;top:10px;right:10px}.term-detail-head{align-items:baseline;gap:8px;display:flex}.term-reading{color:var(--navy-soft);font-size:12px}.term-tags{gap:6px;margin:4px 0;display:flex}.tag{background:var(--bg);color:var(--navy-soft);border-radius:6px;padding:2px 8px;font-size:11px}.term-definition{font-size:15px;line-height:1.7}.term-example,.puzzle-meta p{color:var(--navy-soft);font-size:13px}.timer-bar-outer{background:var(--bg);border-radius:6px;width:100%;height:8px;overflow:hidden}.timer-bar-inner{background:var(--accent);height:100%;transition:width .3s linear}.timer-text{color:var(--navy-soft);font-size:12px}.bins{flex-direction:column;gap:10px;display:flex}.bin{background:var(--bg);border:2px dashed var(--border);border-radius:12px;min-height:60px;padding:10px}.bin h4{margin:0 0 6px;font-size:13px}.bin-pieces,.tray-pieces{flex-wrap:wrap;gap:6px;display:flex}.piece-chip{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-height:44px;padding:8px 10px;font-size:13px}.piece-selected{border-color:var(--accent);background:#fdf3df}.piece-correct{border-color:var(--good);background:#e7f4ee}.piece-wrong{border-color:var(--bad);background:#fdecec}.tray{background:var(--surface);border-radius:12px;padding:10px}.tray h4{margin:0 0 6px;font-size:13px}.puzzle-result-box{flex-direction:column;gap:10px;display:flex}.bs-diagram{flex-direction:column;gap:2px;display:flex}.bs-diagram-label{color:var(--navy-soft);font-size:12px}.bs-diagram-bar{background:var(--bg);border-radius:6px;height:18px;display:flex;overflow:hidden}.bs-diagram-seg{height:100%}.bs-diagram-asset{background:var(--navy)}.bs-diagram-liability{background:var(--bad)}.bs-diagram-equity{background:var(--good)}.puzzle-session-result{text-align:center;flex-direction:column;gap:10px;display:flex}.drag-ghost{background:var(--accent);color:#fff;pointer-events:none;z-index:100;border-radius:8px;padding:6px 10px;font-size:13px;position:fixed;transform:translate(-50%,-120%)}.achievement-rate{color:var(--navy-soft);font-size:13px}.filter-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-label{color:var(--navy-soft);font-size:12px}.filter-btn{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--navy-soft);border-radius:8px;padding:4px 10px;font-size:12px}.filter-btn-active{background:var(--navy);color:#fff;border-color:var(--navy)}.glossary-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.glossary-row{background:var(--bg);border:1px solid var(--border);text-align:left;border-radius:10px;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:8px 12px;display:flex}.glossary-row-disabled{color:var(--navy-soft)}.glossary-locked{opacity:.7}.glossary-name{color:var(--navy);font-weight:700}.glossary-row-disabled .glossary-name{color:var(--navy-soft);font-weight:400}.glossary-tags{color:var(--navy-soft);font-size:11px}
