main.workshop{max-width:820px}.workshop h1{font-size:clamp(32px,6vw,46px)}.workshop nav{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:24px}.workshop nav button{width:auto;padding:10px 16px;margin:0}.workshop a,.native-link{color:var(--gold)}.workshop .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.workshop .card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;text-align:left;min-height:150px;color:inherit;display:block}.workshop .card h2{font-size:25px}.workshop .card .mark{font-size:30px;color:var(--gold);display:block;margin-bottom:18px}.workshop .editor{max-width:550px}.workshop label{margin-top:18px}.workshop textarea{min-height:90px}.workshop .inline{display:flex;gap:12px;align-items:center}.workshop .inline input[type=checkbox]{width:24px;height:24px}.workshop .inline label{margin:0}.workshop .badge{color:var(--gold);font-size:13px}.workshop progress{width:100%;accent-color:var(--gold);height:10px}.workshop .activity-result{padding:20px;border:1px solid var(--gold);border-radius:14px}.workshop .button-row{display:flex;gap:12px}.workshop .button-row>*{flex:1}.growth-panel{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:16px}.growth-panel h2{font-size:26px}.growth-panel button{font-size:15px}.growth-panel .benefit{padding:12px 0;border-bottom:1px solid var(--line)}.growth-panel .benefit:last-child{border-bottom:0}.growth-panel .small{margin:6px 0}.growth-panel progress{width:100%;accent-color:var(--gold)}.growth-panel ul{padding-left:22px}.growth-panel .reward{color:var(--gold)}.party-list button{width:auto;min-height:44px;margin:4px;padding:8px 12px}.party-list button[aria-pressed=true]{border-color:var(--gold)}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.workshop .field-note{margin:8px 0 0;font-size:13px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
/* The cabin keeps long writing readable; charts have independent touch targets. */
.editor textarea { display:block; width:100%; box-sizing:border-box; background:#102a30; color:#f2eee3; border:1px solid #547178; border-radius:12px; padding:16px; font:inherit; line-height:1.6; resize:vertical; }
.journal-page { white-space:pre-wrap; overflow-wrap:anywhere; }
.research-records { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; margin:24px 0; }
.research-records details { background:#102a30; border:1px solid #39535b; border-radius:12px; padding:16px; }
.research-records summary { cursor:pointer; font-weight:600; min-height:44px; }
.research-option { display:flex; align-items:center; gap:12px; min-height:48px; padding:8px; }
.research-option input { width:24px; height:24px; flex:0 0 24px; }
.research-grid { display:grid; grid-template-columns:repeat(4,minmax(44px,1fr)); gap:8px; max-width:440px; margin:24px 0; }
.research-grid button { min-height:66px; font-size:24px; background:#163942; color:#ede5cf; border:2px solid #48626a; border-radius:10px; margin:0; }
.research-grid button.lit { background:#8b632f; border-color:#f6cf7e; }
.research-grid button.burnt { background:#151d21; color:#7d858b; }
.research-feedback { color:#f6cf7e; min-height:1.5em; }
fieldset { border:1px solid #48626a; border-radius:12px; margin:18px 0; }
