:root{font-family:Yu Gothic,Meiryo,system-ui,sans-serif;color:#213049;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app{min-height:100vh}.app-header{height:72px;padding:0 max(32px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e5eaf2}.logo{display:flex;align-items:center;gap:11px;border:0;background:none;color:#233453;padding:0}.logo span{display:grid;place-items:center;width:37px;height:37px;background:#547cdb;color:#fff;border-radius:10px;font-size:23px;font-weight:800}.logo strong{font-size:17px}.header-nav{display:flex;align-items:center;gap:9px}.header-nav button{height:40px;border:0;background:none;color:#75849b;padding:0 16px;border-radius:7px;font-size:12px;font-weight:700}.header-nav button:hover,.header-nav button.selected{background:#edf3ff;color:#456cc6}.locked{font-size:11px;color:#ad772a;background:#fff7e7;padding:9px 13px;border-radius:100px}.content{max-width:1160px;margin:auto;padding:42px 28px 75px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:31px}.eyebrow{color:#5d7fc7;font-size:10px;font-weight:800;letter-spacing:.16em}.heading h1{font-size:29px;margin:7px 0 6px}.heading p{font-size:12px;color:#8795a8;margin:0}.primary,.secondary{height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 19px;border-radius:7px;font-size:12px;font-weight:800;white-space:nowrap}.primary{background:#557cdb;border:1px solid #557cdb;color:#fff;box-shadow:0 5px 12px #557cdb28}.primary:hover:not(:disabled){background:#456bcd}.secondary{background:#fff;border:1px solid #d6e0f0;color:#4f6fae}.secondary:hover:not(:disabled){background:#f6f9ff}.full{width:100%}.card{background:#fff;border:1px solid #e6ebf3;border-radius:13px;box-shadow:0 5px 21px #21304907}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat-card{background:#fff;border:1px solid #e6ebf3;border-radius:12px;padding:21px 23px;min-height:123px;box-shadow:0 4px 15px #21304906}.stat-card>span{display:block;font-size:11px;color:#8290a3;font-weight:700;margin-bottom:13px}.stat-card strong{font-size:29px;color:#2d4165;line-height:1.2}.stat-card small{font-size:12px;color:#8898ad;margin-left:6px}.chart-card{padding:26px 29px 19px;margin-top:21px}.card-title{display:flex;justify-content:space-between;align-items:center;gap:15px}.card-title h2{font-size:17px;margin:5px 0 0}.card-title>span{font-size:11px;color:#8c9bb0}.chart-area{padding-top:25px}.chart-bars{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));height:196px;gap:10px;align-items:end;border-bottom:1px solid #dce4f1}.chart-column{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:end;min-width:0}.chart-count{height:22px;color:#6480b8;font-size:10px;font-weight:700}.bar-track{height:142px;width:min(100%,31px);display:flex;align-items:end}.bar{width:100%;background:linear-gradient(180deg,#7099ee,#4d74d1);border-radius:5px 5px 0 0;min-height:0}.chart-column small{height:29px;padding-top:8px;font-size:9px;color:#99a6b7;white-space:nowrap}.chart-note{color:#99a6b7;font-size:10px;margin:14px 0 0}.menu-cards{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:21px}.menu-card{min-height:101px;display:grid;grid-template-columns:46px 1fr 20px;grid-template-rows:1fr 1fr;align-items:center;column-gap:14px;background:#fff;border:1px solid #e6ebf3;border-radius:11px;padding:21px;text-align:left;color:#2d4165}.menu-card:hover:not(:disabled){border-color:#9bb6ed;background:#fbfcff}.menu-icon{grid-row:span 2;width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#edf3ff;color:#5075ca;font-size:21px}.menu-card strong{font-size:14px}.menu-card small{grid-column:2;color:#94a1b2;font-size:11px}.menu-card b{grid-column:3;grid-row:span 2;color:#91a5cc;font-size:21px}.status{font-size:11px;font-weight:700;color:#35845a;background:#eef9f2;border:1px solid #d5ebde;border-radius:100px;padding:8px 14px}.status.amber{color:#a67627;background:#fff7e8;border-color:#f0e0b9}.study-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:21px;align-items:start}.answer-card{padding:28px 31px}.answer-card .card-title{padding-bottom:20px;border-bottom:1px solid #edf1f5}.timer{color:#5278d0;font-weight:800;font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 18px;margin-top:26px}.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field.wide{grid-column:span 2}.field>span{font-size:11px;font-weight:800;color:#3d4c64}.field em{font-style:normal;background:#fff0ed;color:#c66d5c;font-size:10px;padding:2px 5px;border-radius:4px;margin-left:4px}.field input,.field select{width:100%;height:44px;border:1px solid #d9e2ed;border-radius:7px;padding:0 12px;background:#fff;color:#253953;outline:none;font-size:13px}.field input:focus,.field select:focus{border-color:#7297ee;box-shadow:0 0 0 3px #e7edfb}.field input::placeholder{color:#aab6c5}.field small{font-size:10px;color:#97a3b2;line-height:1.5}.number-field{display:flex;align-items:center;border:1px solid #d9e2ed;border-radius:7px;height:44px;padding-left:13px;color:#70809a;font-size:12px}.number-field:focus-within{border-color:#7297ee;box-shadow:0 0 0 3px #e7edfb}.number-field input{border:0;height:40px;padding-left:9px}.number-field input:focus{border:0;box-shadow:none}.field .answer-input{height:63px;font-size:24px;font-weight:800}.actions{display:flex;justify-content:flex-end;border-top:1px solid #edf1f5;margin-top:26px;padding-top:25px}.progress-card{padding:23px}.progress-card>strong{display:block;font-size:38px;color:#304467;margin-top:11px}.progress-card strong small{font-size:11px;color:#8d9bae;margin-left:6px}.progress-card p{border-top:1px solid #edf1f5;padding-top:19px;margin:18px 0 20px;color:#8897a9;font-size:11px;line-height:1.7}.narrow{max-width:715px}.grade-progress{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#6d7d94;margin-bottom:11px}.grade-progress strong{color:#536f9c}.progress-line{height:7px;background:#e8eef8;border-radius:8px;overflow:hidden}.progress-line div{height:100%;background:#7195e6}.grade-card{margin-top:23px;padding:33px;text-align:center}.grade-card h2{font-size:29px;margin:9px 0}.grade-meta{color:#8596ac;font-size:12px}.your-answer{margin:27px auto 20px;padding:19px;max-width:380px;background:#f4f8ff;border:1px solid #e7eefb;border-radius:9px;display:grid;gap:6px}.your-answer span{color:#8798ad;font-size:11px}.your-answer strong{color:#3c64b8;font-size:34px}.grade-card p{font-size:13px;font-weight:700}.grade-buttons{display:flex;justify-content:center;gap:13px;margin-top:20px}.grade-buttons button{width:145px;height:49px;border-radius:8px;font-weight:800;font-size:13px}.correct-button{background:#e9f8ef;border:1px solid #bfe7ce;color:#25824f}.incorrect-button{background:#fff0ef;border:1px solid #f1cecb;color:#c05d55}.text-button{border:0;background:none;color:#6b83aa;padding:20px 0;font-size:12px}.result-card{padding:36px;text-align:center}.score{font-size:69px;color:#4e73d1;font-weight:800;line-height:1.35}.score span{font-size:33px;color:#a4b1c2}.result-card>div:nth-child(3){color:#8997a8;font-size:12px}.rate{border-top:1px solid #edf1f5;padding-top:20px;margin-top:22px;color:#72819a;font-size:14px}.rate strong{color:#354e7f;font-size:22px;margin-left:9px}.result-actions{display:flex;gap:12px;margin-top:20px}.list-card{overflow:hidden}.history-row{width:100%;display:flex;gap:17px;align-items:center;padding:20px 24px;background:#fff;border:0;border-bottom:1px solid #edf1f5;text-align:left;color:#33445e}.history-row:last-child{border-bottom:0}.history-row:hover{background:#f8faff}.history-row div{flex:1;display:grid;gap:5px}.history-row strong{font-size:14px}.history-row small{font-size:11px;color:#98a5b5}.history-row span{font-size:12px;color:#5671a5;font-weight:700}.history-row b{color:#9baec9;font-size:23px}.empty{padding:60px;text-align:center;color:#9aa7b7;font-size:12px}.detail-summary{padding:20px 25px;display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.detail-summary strong{font-size:27px;color:#5075d0}.detail-summary span{font-size:12px;color:#617697;font-weight:700}.answer-list{overflow:hidden}.answer-row{display:flex;align-items:center;gap:19px;padding:16px 23px;border-bottom:1px solid #edf1f5}.answer-row:last-child{border-bottom:0}.answer-row div{flex:1;display:grid;gap:5px}.answer-row strong{font-size:13px}.answer-row small{font-size:11px;color:#95a2b3}.recorded-answer{color:#4468af;font-size:19px;font-weight:800}.verdict{min-width:55px;text-align:center;font-size:11px;font-weight:700;padding:5px;border-radius:5px}.verdict.yes{background:#e9f8ef;color:#26824f}.verdict.no{background:#fff0ef;color:#c05d55}.error{display:flex;justify-content:space-between;background:#fff1ef;border:1px solid #eec9c5;border-radius:8px;color:#ac5047;font-size:12px;padding:12px 17px;margin-bottom:20px}.error button{border:0;background:none;color:inherit;font-size:18px;line-height:1}@media(max-width:800px){.stats-grid{grid-template-columns:repeat(2,1fr)}.study-grid{grid-template-columns:1fr}.app-header{padding:0 25px}.chart-bars{gap:4px}.content{padding:31px 23px}.progress-card{display:flex;align-items:center;gap:20px}.progress-card p{flex:1;border:0;padding:0;margin:0}.progress-card .full{width:auto}}@media(max-width:570px){.app-header{padding:0 16px}.logo strong{font-size:14px}.header-nav{gap:0}.header-nav button{padding:0 7px;font-size:10px}.locked{max-width:180px;font-size:9px}.content{padding:27px 15px}.heading{align-items:flex-start;flex-direction:column}.heading h1{font-size:24px}.stats-grid{gap:9px}.stat-card{padding:17px}.stat-card strong{font-size:23px}.menu-cards{grid-template-columns:1fr}.chart-card{padding:22px 15px}.chart-bars{gap:2px}.chart-column small{font-size:7px}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.answer-card{padding:23px 18px}.progress-card{display:block}.progress-card p{margin:12px 0}.progress-card .full{width:100%}.result-actions{flex-direction:column}.history-row{flex-wrap:wrap}.history-row span{width:100%}}.setup-card{max-width:715px;padding:31px}.setup-card .card-title{padding-bottom:20px;border-bottom:1px solid #edf1f5}.setup-fields{display:grid;gap:24px;padding:28px 0}.setup-note{font-size:11px;color:#7082a0;background:#f4f7fd;border-radius:7px;padding:13px 15px}.setup-card .actions{gap:12px}@media(max-width:570px){.setup-card{padding:23px 18px}.setup-card .actions{flex-direction:column-reverse}.setup-card .actions button{width:100%}}.category-card{padding:25px 29px;margin-top:21px}.category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:22px}.category-item{display:grid;gap:8px;padding:16px;background:#f6f9ff;border:1px solid #e5ecfa;border-radius:9px;text-align:left;color:inherit}.category-item:hover{border-color:#9bb6ed;background:#eef4ff}.category-item b{font-size:10px;color:#5577ba}.category-item span{font-size:11px;color:#5a6b85;font-weight:700}.category-item strong{font-size:21px;color:#3c60aa}.category-item small{font-size:10px;color:#91a0b5}@media(max-width:800px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:570px){.category-card{padding:22px 15px}.category-grid{gap:8px}.category-item{padding:12px}.category-item strong{font-size:18px}}.title-scores{margin-top:16px;padding:22px 26px}.title-scores h2{font-size:15px;margin:0 0 12px;color:#354e7f}.title-scores>div{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #edf1f5;padding:13px 0;font-size:12px;color:#536582}.title-scores strong{color:#3d5f9f;white-space:nowrap}@media(max-width:570px){.title-scores>div{flex-direction:column;gap:5px}}.master-card{max-width:715px;padding:24px}.master-add{display:flex;gap:10px;padding-bottom:20px}.master-add input{flex:1;height:44px;border:1px solid #d9e2ed;border-radius:7px;padding:0 12px}.master-row{display:flex;align-items:center;gap:10px;padding:14px 0;border-top:1px solid #edf1f5}.master-row>div{flex:1;display:grid;gap:4px}.master-row small{color:#95a2b3;font-size:10px}.danger{height:44px;padding:0 15px;border:1px solid #efceca;background:#fff5f4;color:#b85b53;border-radius:7px;font-size:12px;font-weight:700}.inline-category{max-width:180px;height:36px;border:1px solid #d9e2ed;border-radius:6px;background:#fff;padding:0 8px;color:#4b607e;font-size:11px}@media(max-width:570px){.master-row{flex-wrap:wrap}.master-row>div{width:100%;flex-basis:100%}.inline-category{max-width:140px}}.auth-page{min-height:80vh;display:grid;place-items:center;padding:32px 18px}.auth-card{width:100%;max-width:460px;padding:36px}.auth-brand{color:#5278d0;font-size:25px;font-weight:800;display:flex;align-items:center;gap:14px}.auth-brand span{font-size:12px}.auth-card h1{font-size:26px;margin:26px 0 10px}.auth-card>p{color:#70809a;font-size:13px;line-height:1.8;margin-bottom:24px}.auth-card fieldset{border:0;padding:0;margin:0;display:grid;gap:20px;min-width:0}.auth-card .primary{margin-top:8px}.auth-card .text-button{width:100%;text-align:center}.auth-notice{padding:14px;margin-bottom:20px;background:#edf5ff;color:#375a92;border-radius:8px;font-size:13px;line-height:1.7}.account-bar{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 30px;background:#edf3fc;border-bottom:1px solid #dde6f4}.account-bar>span{display:grid;gap:3px;font-size:13px;margin-right:auto}.account-bar small{font-size:11px;color:#70809a;overflow-wrap:anywhere}@media(max-width:570px){.auth-card{padding:26px 20px}.account-bar{padding:12px 16px;gap:8px}.account-bar .secondary{padding:0 10px;font-size:11px}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #315fc4;outline-offset:3px}input,select{scroll-margin-block:100px}.app{min-height:100svh}.mobile-nav{display:none}.heading>div,.history-row>div,.answer-row>div,.card-title>div,.master-row>div,.account-bar>span{min-width:0}.heading h1,.history-row strong,.history-row small,.grade-card h2,.grade-progress>span,.category-item,.master-row strong,.title-scores span,.account-bar strong{overflow-wrap:anywhere}@media(max-width:800px){.field input,.field select,.master-add input,.inline-category{font-size:16px;min-height:48px}.number-field{height:50px}.number-field input{min-height:46px;height:46px}.primary,.secondary,.danger{min-height:48px;height:auto;padding-block:12px;font-size:14px}.text-button,.header-nav button,.logo{min-height:44px}.field>span{font-size:14px}.field small,.setup-note{font-size:12px;line-height:1.7;color:#60718a}.error{align-items:center;gap:8px;font-size:14px;overflow-wrap:anywhere}.error button{flex:0 0 44px;min-height:44px}.inline-category{width:100%;min-width:0}.auth-page{min-height:100svh;padding-bottom:max(24px,env(safe-area-inset-bottom))}}@media(max-width:600px){:root{font-family:-apple-system,BlinkMacSystemFont,Yu Gothic,Meiryo,sans-serif}.account-bar{padding:12px 16px;gap:8px}.account-bar>span{flex:1 0 100%}.account-bar strong{font-size:14px}.account-bar small{font-size:12px}.account-bar .secondary{flex:1;font-size:13px;padding:10px 8px;min-height:44px}.app-header{min-height:64px;height:auto;padding:10px 16px;gap:12px;flex-wrap:wrap}.logo strong{font-size:17px}.header-nav:has(button){display:none}.locked{display:block;max-width:none;font-size:12px;line-height:1.5;padding:8px 10px;border-radius:8px}.content{padding:24px 16px calc(96px + env(safe-area-inset-bottom))}.is-studying .content{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.heading{gap:16px;margin-bottom:22px;align-items:stretch;flex-direction:column}.heading h1{font-size:25px;line-height:1.4}.heading p{font-size:14px;line-height:1.7;color:#63728a}.heading>button{width:100%}.status{align-self:flex-start;font-size:12px}.eyebrow{font-size:11px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:16px 12px;min-height:108px}.stat-card>span{font-size:12px;color:#62738c}.stat-card strong{font-size:clamp(22px,6vw,28px);overflow-wrap:anywhere}.stat-card small{display:inline-block;font-size:12px}.card-title{flex-wrap:wrap;gap:12px}.card-title h2{font-size:17px;line-height:1.5}.card-title>span{font-size:12px;color:#63728a}.chart-card,.category-card{padding:20px 16px}.chart-area{overflow-x:auto;padding-bottom:4px}.chart-bars{min-width:476px;gap:8px}.chart-column small{font-size:11px;color:#62738c}.chart-count{font-size:12px}.chart-note{font-size:12px;line-height:1.7;color:#63728a}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.category-item{padding:14px 12px}.category-item span,.category-item b,.category-item small{font-size:12px}.category-item small{color:#63728a}.category-item strong{font-size:23px}.menu-cards{grid-template-columns:minmax(0,1fr);gap:12px}.menu-card{padding:18px 16px;grid-template-columns:42px minmax(0,1fr) 16px}.menu-card strong{font-size:16px}.menu-card small{font-size:12px;line-height:1.6;color:#63728a}.setup-card,.answer-card,.master-card{padding:20px 16px}.setup-fields,.form-grid{gap:22px}.form-grid{grid-template-columns:minmax(0,1fr)}.field.wide{grid-column:auto}.field .answer-input{font-size:28px;height:64px}.actions{margin-top:22px;padding-top:20px}.actions>.primary{width:100%;white-space:normal;line-height:1.5}.setup-card .actions{flex-direction:column-reverse}.setup-card .actions button{width:100%}.study-grid{gap:16px}.progress-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:20px 16px}.progress-card>strong{grid-column:1;font-size:30px;margin:0}.progress-card>button{grid-column:2;grid-row:1 / span 2;width:auto;min-width:100px}.progress-card p{grid-column:1 / -1;font-size:12px;line-height:1.7;margin:4px 0 0;padding:0;border:0;color:#63728a}.grade-progress{font-size:13px;flex-wrap:wrap}.grade-progress strong{margin-left:auto}.grade-card{padding:24px 16px}.grade-card h2{font-size:23px;line-height:1.5}.grade-meta{font-size:13px;line-height:1.6}.grade-buttons{gap:12px}.grade-buttons button{flex:1;min-width:0;height:56px;font-size:17px}.text-button{font-size:14px}.result-card{padding:28px 16px}.result-actions{flex-direction:column}.title-scores{padding:20px 16px}.title-scores>div{flex-direction:column;font-size:14px}.history-row{display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:10px;padding:20px 16px}.history-row>div{grid-column:1;gap:8px}.history-row strong{font-size:16px;line-height:1.5}.history-row small{font-size:12px;line-height:1.7;color:#63728a}.history-row>span{grid-column:1;width:auto;justify-self:start;font-size:13px}.history-row>b{grid-column:2;grid-row:1 / span 2}.answer-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:18px 16px}.answer-row>div{grid-column:1 / -1}.answer-row strong{font-size:14px;overflow-wrap:anywhere}.answer-row small{font-size:12px;color:#63728a}.inline-category{max-width:none;grid-column:1;padding-inline:8px}.verdict{min-width:48px;font-size:12px;padding:6px}.detail-summary{flex-wrap:wrap;gap:12px;padding:20px 16px}.master-add{gap:8px}.master-add input{width:0;min-width:0}.master-row{flex-wrap:wrap;gap:12px}.master-row>div{flex-basis:100%}.master-row small{font-size:12px}.master-row>button{flex:1}.empty{padding:40px 20px;font-size:14px;line-height:1.7}.auth-page{align-items:start;padding:24px 16px max(32px,env(safe-area-inset-bottom))}.auth-card{padding:26px 20px}.auth-card h1{font-size:26px}.auth-card>p{font-size:14px;color:#63728a}.auth-card .primary{min-height:52px;font-size:16px}.mobile-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;z-index:20;bottom:0;left:0;right:0;padding:6px max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fff;border-top:1px solid #dce4f1;box-shadow:0 -4px 18px #21304908}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:54px;padding:5px;border:0;border-radius:10px;background:none;color:#60718a;font-size:12px;font-weight:700}.mobile-nav button>span{font-size:22px;line-height:1}.mobile-nav button[aria-current=page]{background:#edf3ff;color:#365fc1}}.auth-links{margin-top:12px;display:grid;gap:4px}.auth-links .text-button{padding:10px 0;min-height:44px}
