@font-face{font-family:QuestSerif;src:url('/assets/quest-serif.woff2') format('woff2');font-display:swap;font-weight:400 900}
@font-face{font-family:'BIZ UDPGothic';src:url('/assets/quest-ui-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'BIZ UDPGothic';src:url('/assets/quest-ui-bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'BIZ UDPMincho';src:url('/assets/quest-text-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'BIZ UDPMincho';src:url('/assets/quest-text-bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--paper:#fff;--canvas:#f4f6fa;--ink:#222b3e;--muted:#667080;--gold:#946b21;--gold-line:#d5bf86;--navy:#253b5a;--blue:#3479b9;--line:#e4e1d8;--secondary:#f4efe2;--doubt:#954a39;--success:#286e55}
.release-info{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:40px;border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:13px;overflow-wrap:anywhere}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--canvas);font:16px/1.7 'BIZ UDPGothic','Yu Gothic UI',Meiryo,sans-serif;font-synthesis:none}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{outline-offset:3px}a{color:var(--gold);text-underline-offset:4px}a:hover{color:var(--navy)}button{border:0;background:var(--navy);color:#fff;font-size:14px;font-weight:700;min-height:44px;padding:10px 20px;border-radius:8px;cursor:pointer}button:hover{background:#385373}button.secondary{background:var(--secondary);color:#614616}button.secondary:hover{background:#eadbb7}button:disabled{opacity:.58;cursor:default}:focus-visible{outline:3px solid #3479b9}::selection{background:#eadbb7;color:var(--ink)}input,textarea{caret-color:var(--navy)}[hidden]{display:none!important}.skip{position:fixed;top:-80px;left:16px;padding:12px;background:var(--paper);z-index:5}.skip:focus{top:8px}
.preview{padding:8px 24px;background:var(--secondary);color:#614616;font-size:13px;display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.preview span{display:flex;gap:18px}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 38px)}.sidebar{background:var(--paper);border-right:1px solid var(--gold-line);padding:32px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;text-decoration:none;color:var(--ink);font:700 18px/1.6 QuestSerif,serif;margin-bottom:34px}.brand svg{width:30px;height:36px;fill:none;stroke:var(--gold);stroke-width:1.3;flex-shrink:0}.brand small{display:block;font:400 12px/1.7 'BIZ UDPGothic',sans-serif;color:var(--muted)}nav{display:flex;flex-direction:column;gap:8px}nav a{display:flex;gap:12px;padding:12px;text-decoration:none;color:#515a69;border-radius:9px;font-size:15px;align-items:center;min-height:66px}nav a svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;flex-shrink:0}nav a small{display:block;font-size:13px}nav a[aria-current=page]{background:var(--navy);color:#fff}nav a[aria-current=page] small{color:#d0d8e4}nav a:hover:not([aria-current=page]){background:var(--secondary)}.side-note{font-size:13px;color:var(--muted);margin-top:auto;padding-top:60px}main{min-width:0;padding:32px 34px 60px;max-width:1600px;width:100%}.page-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:28px}h1{font:800 28px/1.5 QuestSerif,serif;margin:0}h2{font-size:18px;margin:0 0 18px}h3{font-size:16px;margin:24px 0 12px}p{margin:0 0 16px}.page-head p{margin:8px 0 0;color:var(--muted);font-size:14px}.role-label{font-size:14px;color:var(--gold);white-space:nowrap;padding-top:8px}.notice{background:#e9f1eb;color:var(--success);padding:14px 18px;border-radius:8px;margin-bottom:20px;font-size:14px}.notice.error,.notice.warning{background:#f7e9df;color:var(--doubt)}.notice p:last-child{margin:0}.notice button{margin-top:8px}.two-column{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:24px;align-items:start}.surface{background:var(--paper);border-radius:14px;padding:28px}.form-row{display:flex;gap:18px;margin-bottom:18px}.form-row label{flex:1;min-width:0}label{display:block;font-size:14px;font-weight:700}select,input,textarea{width:100%;border:1px solid #c7c9cc;border-radius:6px;background:var(--paper);padding:9px 11px;font-size:16px;line-height:1.6;margin-top:6px}textarea{min-height:115px;resize:vertical}input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:var(--navy);flex-shrink:0}fieldset{padding:0;border:0;margin:0 0 18px}legend{font-size:14px;font-weight:700;margin-bottom:8px}.feelings{display:flex;gap:10px;flex-wrap:wrap}.feelings label{display:flex;align-items:center;font-weight:400;font-size:14px;gap:6px;padding:8px 10px;background:var(--canvas);border-radius:6px}.feelings input{width:17px;height:17px;margin:0;accent-color:var(--navy)}.form-foot{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:18px}.hint,.metadata{font-size:14px;color:var(--muted)}.form-foot .hint{margin:0}.avatar-panel{padding:20px;text-align:center;background:var(--paper);border-radius:14px}.avatar-panel img{height:205px;max-width:100%;object-fit:contain}.avatar-panel .job-name{font:700 21px/1.5 QuestSerif,serif;margin-bottom:4px}.level{font:700 26px/1.3 QuestSerif,serif;margin:0 0 8px}.xp-line{height:6px;border-radius:4px;background:#e4e1d8;margin:10px 0}.xp-line span{height:100%;display:block;background:var(--gold);border-radius:4px}.avatar-panel p{font-size:14px;margin-bottom:0}.log-section{margin-top:32px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head h2{margin:0}.filters{display:flex;gap:14px;align-items:end}.filters label{font-weight:400;min-width:150px}.filters select{font-size:14px}.table-wrap{overflow:auto;background:var(--paper);border-radius:10px}table{width:100%;border-collapse:collapse;font-size:15px;text-align:left}th{font-size:14px;color:var(--muted);font-weight:700;white-space:nowrap}th,td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:last-child td{border-bottom:0}.note-text{min-width:230px;max-width:650px;white-space:pre-wrap;overflow-wrap:anywhere}.note-text small{display:block;color:var(--muted);font-size:13px;margin-top:4px}.subject,.state{display:inline-block;font-size:14px;white-space:nowrap;color:var(--gold)}.state.stuck,.state.unsure{color:var(--doubt)}.state.understood{color:var(--success)}time{white-space:nowrap;font-variant-numeric:tabular-nums}.empty{background:var(--paper);border-radius:14px;padding:36px;color:var(--muted)}.empty h2{color:var(--ink)}.book-layout,.review-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:24px;align-items:start}.item-list{background:var(--paper);border-radius:14px;padding:12px}.item-list button{width:100%;padding:16px 12px;border-radius:6px;text-align:left;background:transparent;color:var(--ink);font-size:15px;font-weight:400;border-bottom:1px solid var(--line)}.item-list button:last-child{border-bottom:0}.item-list button:hover{background:var(--canvas)}.item-list button[aria-pressed=true]{background:var(--secondary)}.item-list small{display:block;font-size:13px;color:var(--muted);margin:4px 0}.study{font:400 17px/1.95 'BIZ UDPMincho','Yu Mincho',serif;max-width:40em}.study h2{font:700 24px/1.65 'BIZ UDPMincho',serif;margin:12px 0 22px}.study h3{font:700 20px/1.65 'BIZ UDPMincho',serif;margin:32px 0 14px}.study p{white-space:pre-wrap;overflow-wrap:anywhere}.study ul{padding-left:1.5em}.study li{margin-bottom:12px}.example{padding:20px;background:var(--canvas);border-radius:8px}details{margin-top:12px}summary{cursor:pointer;font:700 14px/1.8 'BIZ UDPGothic',sans-serif;padding:6px 0;color:var(--navy)}details p{margin:16px 0 0}.sources{border-top:1px solid var(--line);padding-top:18px;margin-top:30px;font:400 14px/1.8 'BIZ UDPGothic',sans-serif}.sources a{display:inline-block;margin-right:14px;padding:4px 0}.proposal{max-width:920px;margin:auto;display:grid;grid-template-columns:160px minmax(0,1fr);gap:30px;align-items:start}.pet{width:160px;max-width:100%;object-fit:contain}.proposal h2{font:700 24px/1.8 QuestSerif,serif;margin:4px 0 18px}.proposal .reason{font:400 17px/1.95 'BIZ UDPMincho',serif;white-space:pre-wrap}.evidence-list{padding:0;margin:8px 0 20px;list-style:none}.evidence-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.evidence-list li:last-child{border:0}.evidence-list small{display:block;font-size:13px;color:var(--muted);margin-top:5px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.check-list{display:flex;flex-direction:column;gap:16px;margin:24px 0}.check-list label{display:flex;gap:10px;align-items:start;font-weight:400;font-size:14px}.review-content h2{font:700 23px/1.65 QuestSerif,serif;margin-bottom:10px}.review-content>section{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.review-content .study{max-width:none}.inline-link{background:none;color:var(--gold);padding:4px 0;border-radius:0;font-weight:400;text-decoration:underline;text-underline-offset:4px}.inline-link:hover{background:none;color:var(--navy)}.record-focus{outline:3px solid #d5bf86;outline-offset:-3px}
@media(max-width:1100px){main{padding:28px 24px}.two-column{grid-template-columns:minmax(0,1fr) 190px}.avatar-panel img{height:170px}.book-layout,.review-layout{grid-template-columns:200px minmax(0,1fr)}.surface{padding:24px}.section-head{align-items:start;flex-direction:column}}
@media(max-width:760px){.shell{display:block}.sidebar{padding:16px 16px 0;border-right:0;border-bottom:1px solid var(--line)}.brand{margin-bottom:14px;font-size:17px}.brand svg{height:32px}.side-note{display:none}nav{flex-direction:row;gap:4px;overflow:auto;padding-bottom:12px}nav a{min-width:112px;min-height:56px;padding:8px;gap:6px;font-size:14px}nav a small{font-size:12px}nav a svg{width:17px}.preview{padding:8px 16px;gap:2px 12px;font-size:12px}main{padding:24px 16px 40px}.page-head{gap:8px;margin-bottom:22px}h1{font-size:25px}.page-head p{font-size:14px}.two-column{grid-template-columns:minmax(0,1fr)}.avatar-panel{display:flex;align-items:center;gap:16px;padding:12px 20px;text-align:left}.avatar-panel img{height:110px;width:90px}.avatar-panel .job-name{font-size:18px}.avatar-panel .level{font-size:23px}.avatar-panel .hint{font-size:13px}.xp-line{min-width:150px}.surface{padding:22px}.form-row{gap:12px}.feelings{gap:6px}.feelings label{padding:8px;font-size:13px}.form-foot{align-items:start;flex-direction:column}.form-foot button{width:100%}.filters{width:100%;gap:12px}.filters label{min-width:0;flex:1}.table-wrap table{min-width:620px}.book-layout,.review-layout{grid-template-columns:minmax(0,1fr);gap:18px}.item-list{display:flex;overflow:auto;gap:10px}.item-list button{min-width:210px;width:210px;border:0}.study h2{font-size:23px}.proposal{grid-template-columns:minmax(0,1fr);gap:8px}.pet{width:100px;height:100px}.proposal .actions button{flex:1}.proposal h2{font-size:22px}.empty{padding:26px}.role-label{font-size:13px}.sources a{padding:9px 0}.section-head{gap:16px}.notice{overflow-wrap:anywhere}}
.xp-line{appearance:none;width:100%;border:0;accent-color:var(--gold)}.xp-line::-webkit-progress-bar{background:var(--line);border-radius:4px}.xp-line::-webkit-progress-value{background:var(--gold);border-radius:4px}.xp-line::-moz-progress-bar{background:var(--gold);border-radius:4px}
@media(max-width:760px){nav a svg{display:none}nav a{min-width:0;flex:0 0 calc((100% - 8px)/3)}nav a span{width:100%}nav.parent-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}}
.mapped-evidence{font-family:'BIZ UDPGothic',sans-serif;margin:14px 0 24px}.review-content section>div+div{margin-top:24px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.practice-page{display:grid;gap:24px}.practice-picker{padding:0 0 20px;border-bottom:1px solid var(--line)}.practice-picker>summary{font-weight:700;padding:12px 0;cursor:pointer}.practice-filters{display:flex;align-items:end;gap:24px;margin:16px 0 24px}.practice-filters>label:first-child{width:220px}.check-inline{display:flex;align-items:start;gap:10px;font-size:14px;line-height:1.8}.check-inline input{width:18px;min-width:18px;height:18px;min-height:18px;margin-top:4px}.practice-questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.practice-question{padding:0 0 24px;border-bottom:1px solid var(--line)}.practice-question h3{margin:8px 0 12px}.practice-question button{margin-top:16px}.practice-prompt,.practice-answer{font-family:'BIZ UDPMincho',serif;font-size:17px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere;max-width:40em}.practice-reading{max-width:900px}.practice-reading>h2{margin-top:12px}.practice-heading{display:flex;align-items:center;gap:16px}.practice-heading p{margin:0}.practice-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.practice-section>label{display:block;margin:18px 0}.practice-section>label.check-inline{display:flex}.practice-section fieldset{border:0;padding:0;margin:18px 0}.practice-section legend{font-weight:700;margin-bottom:12px}.practice-section input[type=text],.practice-section input[type=number]{max-width:360px}.practice-section label textarea,.practice-section label>input[type=text],.practice-section label>input[type=number]{display:block;margin-top:8px}.choice-answer{display:flex;align-items:baseline;gap:12px;margin:10px 0;padding:8px 0;font-family:'BIZ UDPMincho',serif;font-size:17px}.choice-answer input{width:18px;height:18px;min-height:18px}.practice-evidence,.practice-solution{margin:24px 0}.practice-evidence>summary,.practice-solution>summary{cursor:pointer;font-weight:700;padding:10px 0}.practice-history-entry{padding:14px 0;border-bottom:1px solid var(--line)}.practice-result{font-weight:700}.practice-answer{padding:16px;background:var(--canvas)}.practice-history td:nth-child(3){min-width:160px}.practice-history small{display:block}.practice-history table{width:100%}
@media(max-width:760px){nav.expanded-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.practice-questions{grid-template-columns:minmax(0,1fr);gap:20px}.practice-filters{align-items:stretch;flex-direction:column;gap:16px}.practice-filters>label:first-child{width:100%}.practice-heading{align-items:start;flex-direction:column;gap:8px}.practice-reading{padding:22px}.practice-section>button{width:100%}.practice-page{gap:20px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.practice-page{grid-template-columns:minmax(0,1fr)}.practice-page>*{min-width:0}
.exam-page{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.exam-page>*{min-width:0}.exam-picker{display:block;max-width:640px}.exam-picker select{margin-top:8px}.exam-score-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:32px;align-items:start}.exam-radar{display:block;width:100%;max-width:360px;height:auto}.radar-grid{fill:none;stroke:var(--line);stroke-width:1}.radar-label{fill:var(--ink);font-family:'BIZ UDPGothic',sans-serif;font-size:16px}.radar-scale{fill:var(--muted);font-family:'BIZ UDPGothic',sans-serif;font-size:14px}.radar-area{fill:var(--navy);fill-opacity:.1;stroke:var(--blue);stroke-width:2}.radar-data{stroke:var(--blue);stroke-width:2}.radar-point{fill:var(--blue);stroke:var(--paper);stroke-width:2}.exam-radar a:focus .radar-point,.exam-radar a:hover .radar-point{stroke:var(--gold);stroke-width:5}.exam-score-layout th,.exam-score-layout td{white-space:nowrap}.exam-score-layout .table-wrap table{min-width:430px}.exam-originals{margin:24px 0}.exam-originals>summary{cursor:pointer;font-weight:700;padding:12px 0}.exam-originals .table-wrap{margin:12px 0}.exam-filters{display:flex;gap:20px;margin:20px 0}.exam-filters label{flex:1;max-width:320px}.exam-filters select{margin-top:8px}.exam-table-prompt{max-width:32em;min-width:180px;white-space:normal}.exam-answer{margin-top:28px;max-width:44em;border-top:1px solid var(--line);padding-top:24px}.exam-answer h4{margin-top:24px}.exam-answer>a{display:inline-block;padding:8px 0}#exam-detail{min-width:0}#exam-detail .section-head label{min-width:160px}#exam-detail tr:focus{outline:2px solid var(--blue)}
@media(max-width:1100px){.exam-score-layout{grid-template-columns:280px minmax(0,1fr);gap:24px}}@media(max-width:900px){.exam-score-layout{grid-template-columns:minmax(0,1fr);gap:12px}.exam-chart{max-width:360px}.exam-filters{flex-direction:column;gap:12px}.exam-filters label{max-width:none}#exam-detail .section-head label{width:100%}.exam-page{gap:20px}}

.practice-origin{margin:20px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.practice-origin h3{margin:0 0 10px}.practice-origin>a{display:inline-block;margin:12px 0 0 16px;font-size:14px}.evidence-actions{margin-top:12px}.evidence-actions a{font-size:14px}.exam-answer>button{display:block;margin:16px 0}
@media(max-width:760px){.practice-origin>button{width:100%}.practice-origin>a{margin:14px 0 0}.evidence-actions{align-items:start;flex-direction:column}}
.growth-page{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.growth-page>*{min-width:0}.growth-toolbar{display:flex;gap:12px;flex-wrap:wrap}.growth-toolbar button[aria-pressed=true]{background:var(--navy);color:var(--paper)}.growth-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1000px}.growth-filters select{display:block;margin-top:8px;width:100%}.growth-compare-layout{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:24px;align-items:start}.growth-radar{width:100%;max-width:420px}.growth-line{display:block;width:100%;min-width:0;max-width:900px}.growth-chart-label{fill:var(--ink);font:400 14px 'BIZ UDPGothic',sans-serif}.growth-area.current{fill:var(--blue);fill-opacity:.08;stroke:var(--blue);stroke-width:2}.growth-area.comparison{fill:none;stroke:var(--gold);stroke-width:2;stroke-dasharray:6 4}.growth-segment{fill:none;stroke-width:2}.growth-segment.current{stroke:var(--blue)}.growth-segment.comparison{stroke:var(--gold);stroke-dasharray:6 4}.growth-dot.current{fill:var(--blue);stroke:var(--paper);stroke-width:2}.growth-dot.comparison{fill:var(--gold);stroke:var(--paper);stroke-width:2}.growth-page svg a:focus circle,.growth-page svg a:hover circle{stroke:var(--ink);stroke-width:4}.growth-legend{display:flex;gap:20px;flex-wrap:wrap;font-size:14px}.growth-legend .current{color:var(--blue)}.growth-legend .comparison{color:var(--gold)}.growth-page td button{display:block;margin:4px 0}.growth-page .table-wrap table{min-width:420px}.growth-page td{overflow-wrap:anywhere}#growth-evidence{min-width:0}#growth-evidence .study{margin-top:20px}
.growth-line-wrap{overflow-x:auto;max-width:100%}.growth-page td:nth-child(2),.growth-page td:nth-child(3){font-variant-numeric:tabular-nums}.growth-page td:nth-child(2),.growth-page th{white-space:nowrap}.growth-page .table-wrap table{min-width:520px}
@media(max-width:1100px){.growth-compare-layout{grid-template-columns:minmax(0,1fr)}.growth-radar{max-width:420px}}@media(max-width:760px){.growth-filters{grid-template-columns:minmax(0,1fr)}.growth-page{gap:20px}.growth-toolbar{gap:8px}.growth-toolbar button{flex:1}.growth-line{min-width:600px}.growth-radar{max-width:100%}}
.adventurer-page{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}.adventurer-page>*{min-width:0}.adventurer-home-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:24px;align-items:stretch}.adventurer-hero{position:relative;min-width:0;min-height:570px;border-radius:14px;overflow:hidden;background:var(--paper);display:grid;grid-template-columns:1fr 1.2fr;grid-template-rows:1fr auto auto}.adventurer-town{position:absolute;width:100%;height:100%;object-fit:cover}.adventurer-intro{position:relative;z-index:2;margin:28px 0 110px 28px;padding:20px 16px;background:var(--paper);align-self:start;border-radius:10px;min-width:0;overflow-wrap:anywhere}.adventurer-intro h2{font:700 27px/1.6 QuestSerif,serif;margin:0 0 14px}.adventurer-intro p{font-size:14px;line-height:1.8}.adventurer-intro .adventurer-job-name{font-weight:700;color:var(--gold)}.adventurer-intro a{font-size:14px}.adventurer-avatar{position:relative;isolation:isolate;width:100%;height:390px;display:flex;justify-content:center;align-items:center;min-width:0}.adventurer-avatar>img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain}.adventurer-regalia{position:absolute;inset:0;width:100%;height:100%;z-index:0}.regalia-ring{fill:var(--paper);fill-opacity:.3;stroke:var(--gold)}.regalia-outer{fill:none;stroke:var(--gold);stroke-width:1}.regalia-gem{fill:var(--gold);stroke:var(--paper);stroke-width:1}.adventurer-hero>.adventurer-avatar{height:420px;align-self:end;animation:adventurer-arrive .65s cubic-bezier(.16,1,.3,1)}.adventurer-hero-status{position:relative;z-index:2;background:var(--paper);grid-column:1/-1;padding:20px 28px 8px}.adventurer-exp>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.adventurer-exp strong{font:700 27px/1.4 QuestSerif,serif}.adventurer-exp span{font-size:14px;font-variant-numeric:tabular-nums;color:var(--gold)}.adventurer-exp .hint{margin:8px 0 14px}.adventurer-world-status{position:relative;z-index:2;background:var(--secondary);grid-column:1/-1;padding:12px 28px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px}.adventurer-world-status strong{color:var(--navy)}.adventurer-actions h2{font:700 24px/1.6 QuestSerif,serif}.adventurer-actions>a{display:block;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none}.adventurer-actions>a:last-child{border-bottom:0}.adventurer-actions strong{font-size:16px;display:block;color:var(--navy)}.adventurer-actions small{font-size:14px;color:var(--muted);display:block;margin-top:5px}.adventurer-actions a:hover strong{text-decoration:underline;text-underline-offset:4px}.adventurer-setup-body{display:grid;grid-template-columns:minmax(180px,300px) minmax(0,1fr);gap:32px;align-items:center;max-width:900px}.adventurer-setup-body .adventurer-avatar{height:290px}.adventurer-setup form>label,.job-detail>label{display:block;margin:18px 0}.adventurer-setup input,.adventurer-setup select,.job-detail select{display:block;margin-top:8px;width:100%}.adventurer-setup .hint{max-width:38em}.jobs-layout{display:grid;grid-template-columns:minmax(270px,360px) minmax(0,1fr);gap:24px;align-items:start}.job-detail h2{font:700 26px/1.6 QuestSerif,serif}.job-detail>.adventurer-avatar{height:320px}.job-detail .adventurer-exp{margin-top:24px}.job-detail>button{width:100%;margin-top:10px}.job-outfit-caption{min-height:76px}.job-outfit-caption p{font-size:14px;margin:8px 0;line-height:1.8}.job-roster h2{margin-bottom:20px}.job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.job-grid button{background:var(--canvas);color:var(--ink);font-weight:400;text-align:center;padding:12px 8px;min-width:0;border:1px solid transparent}.job-grid button[aria-pressed=true]{border-color:var(--gold);background:var(--secondary)}.job-grid img{display:block;width:100%;height:138px;object-fit:contain}.job-grid strong,.job-grid span,.job-grid small{display:block}.job-grid strong{font:700 17px/1.6 QuestSerif,serif;margin-top:8px}.job-grid span{font-size:13px;margin-top:5px;white-space:nowrap;font-variant-numeric:tabular-nums}.job-grid small{font-size:12px;color:var(--muted);margin-top:5px}.adventurer-artwork{margin-top:0}.adventurer-artwork p{max-width:60em}.town-milestones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:24px 0}.town-milestones li{min-width:0}.town-milestones img{width:100%;height:128px;object-fit:cover;border-radius:8px}.town-milestones strong,.town-milestones span{display:block;margin-top:8px}.town-milestones strong{font-size:15px}.town-milestones span{font-size:13px;color:var(--muted)}.town-milestones li[aria-current=step] strong{color:var(--gold);text-decoration:underline;text-underline-offset:5px}.avatar-panel>.adventurer-avatar.compact{height:205px}.avatar-panel>.adventurer-avatar.compact img{height:100%;width:100%}.avatar-panel a{display:inline-block;font-size:13px;margin-top:12px}
@keyframes adventurer-arrive{from{transform:translateY(12px)}to{transform:translateY(0)}}
@media(max-width:1200px){.adventurer-home-layout{grid-template-columns:minmax(0,1fr)}.adventurer-hero{max-width:900px}.adventurer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.adventurer-actions>h2,.adventurer-actions>p{grid-column:1/-1}.jobs-layout{grid-template-columns:minmax(250px,320px) minmax(0,1fr)}.job-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.town-milestones{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.adventurer-hero{min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.adventurer-intro{margin:16px 0 16px 14px;padding:14px 12px}.adventurer-intro h2{font-size:21px}.adventurer-hero>.adventurer-avatar{height:310px}.adventurer-hero-status{padding:18px 20px 8px}.adventurer-world-status{padding:12px 20px}.adventurer-setup-body{grid-template-columns:minmax(0,1fr);gap:10px}.adventurer-setup-body .adventurer-avatar{height:230px}.adventurer-setup form>button{width:100%}.jobs-layout{grid-template-columns:minmax(0,1fr)}.job-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.job-grid img{height:105px}.job-grid strong{font-size:15px}.job-grid span{font-size:12px;white-space:normal}.job-grid small{font-size:12px}.job-roster{padding:18px 12px}.job-detail>.adventurer-avatar{height:300px}.adventurer-actions{display:block}.adventurer-page{gap:20px}.town-milestones{gap:20px 12px}.town-milestones img{height:100px}.avatar-panel>.adventurer-avatar.compact{height:120px;width:90px}}

.adventurer-nickname{display:inline-block;max-width:100%;overflow-wrap:anywhere}

.companions-page{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.companions-page>*{min-width:0}.companion-filters{display:flex;gap:20px;flex-wrap:wrap}.companion-filters label{min-width:190px}.companion-filters select{display:block;margin-top:8px;width:100%}.companion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.companion-card{background:var(--paper);color:var(--ink);padding:22px 18px;border:1px solid var(--line);font-weight:400;text-align:center;min-width:0}.companion-card.owned{border-color:var(--gold-line)}.companion-card:hover{background:var(--canvas);color:var(--ink)}.companion-card h3{font:700 20px/1.6 QuestSerif,serif;margin:10px 0}.companion-art{height:180px;display:grid;place-items:center;min-width:0}.companion-art>img{width:100%;height:100%;object-fit:contain;max-height:180px}.companion-art.undiscovered>img{opacity:.2}.companion-art-missing{display:grid;place-items:center;min-height:140px;width:100%;background:var(--canvas);font-size:14px;color:var(--muted)}.companion-subjects{color:var(--gold);font-size:14px}.companion-form-names{list-style:none;padding:0;margin:16px 0;text-align:left;font-size:14px;line-height:1.8}.companion-form-names li{margin-top:8px}.companion-form-names small{font-size:12px;color:var(--muted)}.companion-open{display:block;color:var(--gold);text-decoration:underline;text-underline-offset:4px;font-size:14px;margin-top:18px}.companion-gallery h2{margin-bottom:22px}.companion-detail .section-head{align-items:start}.companion-form-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.companion-form-line h3{font:700 20px/1.6 QuestSerif,serif;text-align:center}.companion-form-line .hint{text-align:center}.companion-task{border-top:1px solid var(--line);padding:24px 0}.companion-task>p.study{max-width:44em}.companion-task>.hint{margin:12px 0}.companion-task details{margin-top:20px}.companion-bind-form{max-width:48em;padding:16px 0}.companion-bind-form select{display:block;width:100%;margin:8px 0 20px}.companion-bind-form button{margin-top:16px}.companion-quest-title{font-size:18px;font-weight:700}.companion-proposal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start}.companion-proposal .study{max-width:44em}.companion-proposal-layout h2{font:700 25px/1.6 QuestSerif,serif}.companion-art.large{height:250px}.companion-art.large>img{max-height:250px}.companion-metrics{margin:20px 0;width:100%;table-layout:fixed}.companion-metrics caption{font-size:14px;text-align:left;margin-bottom:8px}.companion-metrics th,.companion-metrics td{padding:10px 8px;font-size:14px;overflow-wrap:anywhere}.companion-proposal details{margin:20px 0}.companion-proposal .actions{margin-top:20px}.companion-pending-count{margin:0;font-weight:700}.companion-review{max-width:48em;margin-top:24px}.companion-review button{margin-top:16px}.companion-rules{padding:8px 0}.companion-task h3{margin:0 0 16px}.companion-detail>details{margin-top:24px}
@media(max-width:1450px){.companion-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.companion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.companion-proposal-layout{grid-template-columns:160px minmax(0,1fr);gap:24px}}@media(max-width:760px){.companion-grid{gap:12px}.companion-card{padding:18px 10px}.companion-card h3{font-size:17px}.companion-art{height:120px}.companion-art>img{max-height:120px}.companion-art-missing{min-height:100px;font-size:12px}.companion-card .metadata{font-size:12px}.companion-form-names{font-size:13px}.companion-form-names small{display:block}.companion-open{font-size:13px}.companion-proposal-layout{grid-template-columns:minmax(0,1fr);gap:16px}.companion-art.large{height:190px}.companion-art.large>img{max-height:190px}.companion-proposal-layout h2{font-size:22px}.companion-filters{flex-direction:column;gap:16px}.companion-filters label{min-width:0}.companion-form-line{grid-template-columns:minmax(0,1fr);gap:12px}.companion-form-line>div{border-bottom:1px solid var(--line);padding-bottom:18px}.companion-form-line .companion-art{height:170px}.companion-form-line .companion-art img{max-height:170px}.companion-proposal .actions{flex-direction:column;align-items:stretch}.companion-task>button,.companion-bind-form>button,.companion-review>button{width:100%}.companion-detail .section-head{flex-direction:column;gap:14px}}

@media(max-width:760px){.companion-form-line{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.companion-form-line>div{min-width:0;border-bottom:0;padding:0}.companion-form-line h3{font-size:15px}.companion-form-line .hint{font-size:12px}.companion-form-line .companion-art{height:100px}.companion-form-line .companion-art img{max-height:100px}}

.companion-held h3{margin-top:22px}.companion-held button{margin-bottom:10px}.companion-acquisition{padding:18px 0;border-top:1px solid var(--line)}.companion-acquisition-proof{padding:20px 0;border-top:1px solid var(--line);margin-top:20px}.companion-acquisition-proof h3{margin:0 0 14px}.companion-acquisition-proof p{max-width:44em}.companion-acquisition-proof button{margin-top:12px}@media(max-width:760px){.companion-held button,.companion-acquisition-proof button{width:100%}}
.page-account{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.account-actions{display:flex;gap:8px}.auth-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:8px;background:var(--navy);color:var(--paper);font-size:14px;font-weight:700;text-decoration:none}.auth-link:hover{background:#385373;color:var(--paper)}.auth-link.secondary{background:var(--secondary);color:#614616}.auth-link.secondary:hover{background:#eadbb7;color:#47300c}
.companion-art img[src$="crystal-stag-2.png"]{transform:scale(1.2)}

.sound-sample-note{margin:16px 0 0}

/* 音の設定は学習本文から独立した、いつでも閉じられるインラインパネル。 */
.sound-actions{display:flex;gap:8px;flex-wrap:wrap}.sound-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.sound-actions svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sound-panel{background:var(--paper);padding:24px;border-radius:14px;margin-bottom:28px;max-width:820px}.sound-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.sound-heading h2{margin:0;font-size:18px}.sound-channels{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:24px 0}.sound-channel{margin:0;min-width:0}.sound-channel legend{font-size:16px;margin-bottom:12px}.sound-toggle{display:inline-flex;align-items:center;gap:10px;font-weight:400;min-height:44px}.sound-volume{margin-top:12px}.sound-volume label{font-weight:400}.sound-volume>div{display:flex;align-items:center;gap:16px}.sound-volume input[type=range]{padding:0;border:0;border-radius:0;height:44px;margin:0;min-width:0;accent-color:var(--navy);flex:1;cursor:pointer}.sound-volume output{font-size:14px;min-width:4ch;text-align:right;font-variant-numeric:tabular-nums}.sound-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.sound-footer .hint{margin:0;max-width:48ch}.sound-samples{display:flex;gap:8px;flex-wrap:wrap}.sound-note{margin:20px 0 0;font-size:14px;line-height:1.8;color:var(--muted)}
@media(max-width:1100px){.page-head{flex-wrap:wrap}.page-account{justify-content:flex-start}}
@media(max-width:760px){.sound-panel{padding:20px}.sound-channels{grid-template-columns:minmax(0,1fr);gap:24px}.sound-heading{gap:12px}.sound-heading button{padding:10px 16px}.sound-actions button{padding:10px 14px}.sound-volume>div{gap:12px}.sound-footer{align-items:start;flex-direction:column}.sound-note{margin-top:16px}}

/* 保護者の承認設定を候補が空のときも表示する。 */
.approval-review-page{display:grid;gap:28px}.approval-settings{display:grid;gap:16px}.approval-settings h2,.approval-settings p{margin:0}.approval-settings label{max-width:44rem}.approval-settings button{justify-self:start}.approval-settings details{padding-top:8px}

/* 成長をまとめて知らせ、閉じた後も同じ入口から読み返す。 */
.adventure-book-trigger{font-size:16px}
.adventure-book{width:min(660px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:28px;border:1px solid var(--gold-line);border-radius:14px;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--gold-line) var(--canvas)}
.adventure-book::backdrop{background:rgb(34 43 62 / .48)}
.adventure-book-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}
.adventure-book-heading h2{font:800 28px/1.4 QuestSerif,serif;margin:0}
.adventure-book button{font-size:16px;flex-shrink:0}
.adventure-book-intro{font-size:16px;margin-bottom:24px}
.adventure-book-entries{list-style:none;padding:0;margin:0 0 24px}
.adventure-book-entry{display:grid;grid-template-columns:124px minmax(0,1fr);align-items:center;gap:24px;padding:20px 0;border-top:1px solid var(--line)}
.adventure-book-entry img{width:124px;height:140px;object-fit:contain}
.adventure-book-entry.town img{height:90px}
.adventure-book-entry h3{font:700 21px/1.6 QuestSerif,serif;margin:0 0 8px;overflow-wrap:anywhere}
.adventure-book-entry p{font-size:16px;margin:0 0 8px}
.adventure-book-entry a{font-size:16px;display:inline-flex;align-items:center;min-height:44px}
.adventure-book-entry time{display:block;font-size:14px}
.adventure-book.is-new[open]{animation:adventure-book-open .28s cubic-bezier(.16,1,.3,1)}
@keyframes adventure-book-open{from{transform:translateY(12px);clip-path:inset(0 0 10px)}to{transform:translateY(0);clip-path:inset(0)}}
@media(max-width:760px){.adventure-book{padding:20px;max-height:calc(100dvh - 24px)}.adventure-book-heading h2{font-size:25px}.adventure-book-entry{grid-template-columns:78px minmax(0,1fr);gap:14px;padding:18px 0}.adventure-book-entry img{width:78px;height:116px}.adventure-book-entry.town img{height:64px}.adventure-book-entry h3{font-size:20px}.adventure-book-heading{gap:12px}}
@media(prefers-reduced-motion:reduce){.adventure-book.is-new[open]{animation:none}}

/* 冒険の手引き：実画面と照らし合わせる本文、同じ操作で進める練習。 */
.guide-invitation{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 24px;padding:16px 20px;background:var(--paper);border:1px solid var(--gold-line);border-radius:14px}
.guide-invitation h2,.guide-intro h2,.guide-tour h2{margin:0 0 8px}.guide-invitation p{margin:0}
.guide-manual,.guide-tour{max-width:920px}.guide-intro>p,.guide-tour>p{max-width:46em}.guide-intro{padding-bottom:24px;border-bottom:1px solid var(--line)}
.guide-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.guide-actions button[aria-pressed=true]{background:var(--navy);color:var(--paper)}
.guide-index{margin:24px 0;max-width:33em}.guide-chapter{max-width:46em}.guide-chapter h2{margin:0 0 12px}.guide-chapter ol,.guide-recovery ul{padding-inline-start:1.5em}.guide-chapter li,.guide-recovery li{margin:0 0 8px}.guide-chapter>a{display:inline-flex;align-items:center;min-height:44px}
.guide-figure{margin:12px 0 0}.guide-figure a{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden}.guide-figure img{display:block;width:100%;height:auto}.guide-figure figcaption{margin-top:8px;color:var(--muted);font-size:14px}
.guide-recovery{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}.guide-recovery summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:700}
.guide-tour-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.guide-tour-head img{width:80px;height:80px;object-fit:contain}.guide-example{margin:0 0 16px;padding:16px 20px;border:1px solid var(--gold-line);border-radius:8px;background:var(--secondary)}.guide-example p{margin:0}
.guide-answer{min-height:1.7em;margin:12px 0;color:var(--navy)}.guide-tour-nav{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}
@media(max-width:760px){.guide-manual,.guide-tour{padding:20px}.guide-invitation{padding:16px}.guide-tour-head img{width:64px;height:64px}.guide-actions button{padding-inline:14px}}
.exam-review{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);max-width:46em}.exam-review h3{margin:0 0 12px}.exam-review-count{font-weight:700;color:var(--navy)}.exam-review-list{padding-inline-start:24px;margin:24px 0}.exam-review-list>li{padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid var(--line)}.exam-review-list>li:last-child{margin-bottom:0}.exam-review-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.exam-review-values dt{font-weight:700}.exam-review-values dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.exam-review-list label{display:block;margin-top:16px}.exam-review-list select{display:block;margin-top:8px;max-width:100%}.exam-review-selection{margin:16px 0}.exam-review-selection p{margin:0}.exam-select-question{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.exam-review-checks .check-inline{align-items:flex-start;min-height:44px;margin:8px 0}.exam-review-checks input{flex-shrink:0;margin-top:4px}
@media(max-width:760px){.exam-review-values{grid-template-columns:1fr;gap:4px}.exam-review-values dd{margin-bottom:12px}.exam-review .actions button{width:100%}.exam-review-list{padding-inline-start:20px}}

.exam-read-value{margin:0}.exam-fill-field{min-width:0}.exam-fill-field label{margin-top:0}.exam-fill-field input[type=number],.exam-fill-field textarea{display:block;margin-top:8px;width:100%;box-sizing:border-box;font-size:16px}.exam-fill-field textarea.practice-prompt{font-size:17px}.exam-fill-field .check-inline{display:flex;align-items:flex-start;gap:8px;margin-top:12px;min-height:44px}.exam-review-selection{align-items:center}.exam-review-selection p{font-weight:700;color:var(--navy)}
@media(max-width:760px){.exam-review-selection button{width:100%}.exam-review-values{gap:16px}.exam-review-values dd{margin-bottom:0}}
.original-preview{position:fixed;inset:0;margin:auto;padding:0;width:min(1100px,calc(100vw - 24px));max-width:none;height:min(900px,calc(100vh - 24px));height:min(900px,calc(100dvh - 24px));max-height:none;border:1px solid var(--gold-line);border-radius:14px;color:var(--ink);background:var(--paper);overflow:hidden}
.original-preview[open]{display:grid;grid-template-rows:auto auto auto minmax(0,1fr)}.original-preview::backdrop{background:rgba(34,43,62,.48)}
.original-preview header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line)}.original-preview h2{margin:0;font-size:24px;line-height:1.5}.original-preview button{font-size:16px}.original-preview header button{min-width:80px;min-height:44px}
.original-preview-tools{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 24px}.original-preview-pages,.original-preview-zoom{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:16px}.original-preview-pages label{margin:0;display:flex;align-items:center;gap:8px}.original-preview-pages input{width:64px;min-height:44px;padding:8px;font-size:16px}.original-preview-tools button{min-height:44px;padding:8px 14px}.original-preview-zoom span{min-width:112px;text-align:center;font-variant-numeric:tabular-nums}.original-preview-pages>span{white-space:nowrap;font-variant-numeric:tabular-nums}
.original-preview-status{padding:0 24px 12px}.original-preview-status p{margin:0;font-size:16px}.original-preview-status button{margin-top:12px}.original-preview-stage{min-width:0;min-height:0;overflow:auto;overflow-y:scroll;scrollbar-gutter:stable;padding:16px;background:var(--canvas);overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.original-preview canvas{display:block;margin:0 auto;background:var(--paper)}.original-preview canvas[hidden]{display:none}
html.original-preview-open,html.original-preview-open body{overflow:hidden;overscroll-behavior:none}
.source-library{margin-bottom:24px;min-width:0}.source-library summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:700}.source-library>p{max-width:46em}.source-library>label{display:block;max-width:360px;margin:20px 0 12px}.source-library select{display:block;width:100%;min-height:44px;margin-top:8px;font-size:16px}.source-library-body{min-width:0}.source-library-list{list-style:none;padding:0;margin:0}.source-library-list>li{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-top:1px solid var(--line)}.source-library-list>li>div{min-width:0}.source-library-list h3{margin:8px 0;font-size:18px;overflow-wrap:anywhere}.source-library-list p{margin:4px 0}.source-library-link{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0;font-weight:700}.source-library-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--line)}.source-library-pager p{margin:0;font-variant-numeric:tabular-nums}
@media(max-width:760px){.source-library-list>li{display:block}.source-library-link{margin-top:8px}.source-library-pager p{order:-1;flex-basis:100%}}
@media(max-width:760px){.original-preview header{padding:16px}.original-preview h2{font-size:22px}.original-preview-tools{padding:12px 16px;gap:12px}.original-preview-pages{flex:1 1 100%;gap:6px}.original-preview-tools button{padding:8px 10px}.original-preview-status{padding:0 16px 12px}}
