/* Cool paper, violet ink and mint accents. Warm colors belong to the artwork/rewards. */
:root{--world-ink:#49415e;--world-paper:#fcfbff;--world-page:#f6f5fc;--world-purple:#b7a0dc;--world-plum:#7956bd;--world-sage:#98bba9;--world-gold:#e8c879;--world-rule:#d6d1e4;--game-ink:#49415e;--game-purple:#7956bd;--ui-page:#eaeaf5;--ui-card:#fcfbff;--ui-border:#8b80a2;--ui-muted:#7a718c;--ui-shadow:#b7b0ca}
body{background:#d6d7e4;color:var(--world-ink)}
.app-shell{background:var(--ui-page);box-shadow:0 0 0 2px #51415822,0 12px 55px #51415825}
.app-shell>main{background-color:var(--ui-page);background-image:radial-gradient(#79718d12 .65px,transparent .8px)}
.mobile-top{background:#f6f4fd;border-bottom-color:#817495;box-shadow:inset 0 2px #fff}
.mobile-top .brand>span{color:#49415e}.mobile-top .brand{min-width:0}.mobile-top .brand>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mobile-top>.icon-button,.classroom-tools>button,.classroom-return>button,.round-control{background:#f8f6ff;border-color:#8a7b9e;box-shadow:0 2px #b7accb;color:#67507e}
.workbench-entry{flex-shrink:0;margin-left:auto;margin-right:8px;padding:5px 7px;min-height:28px;display:flex;align-items:center;justify-content:center;background:#e7dff7;border:1.5px solid #9482af;border-radius:4px 7px;color:#67507e;font-size:10px;font-weight:700;box-shadow:0 2px #bbb0cf;text-decoration:none}
.game-kicker,.eyebrow,.tab-caption,.subtitle,.playtime,.tab-title h1 small,.tab-list-title>small,.setup-heading p,.setup-navigation,.setup-retain-note,.setup-actions>small{color:var(--ui-muted)}
.button,.button.secondary,.screen-pager button{background:#f8f7ff;color:#655376;border-color:#8c7ba0;box-shadow:0 3px #b9aecb,inset 0 2px #fff}
.button.primary,.screen-main-actions>.button.primary{background:#7d5bc4;border-color:#53416d;color:#fff;box-shadow:0 4px #514066,inset 0 2px #ac8ddd;text-shadow:none}
.button.primary:active:not(:disabled){background:#6f4cae}
.button.gold-button,.gold-button{background:#e2d5f8;border-color:#8d71ae;color:#624b7e;box-shadow:0 3px #b4a1ca,inset 0 2px #f6eeff}
.button.danger{background:#f2d9e1;border-color:#af7d94;box-shadow:0 3px #c9a3b3;color:#875a70}
.screen-page-label,.screen-subheading,.small-heading{color:#756188}
.app-shell>.mobile-nav{background:#d9d3e9;border-top-color:#90829e;box-shadow:inset 0 2px #f4efff}
.app-shell>.mobile-nav button{background:#f5f3fc;border-color:#a397b4;box-shadow:0 2px #b4a8c4;color:#7a6b8a}
.app-shell>.mobile-nav button.active{background:#cfb9ed;border-color:#79618f;box-shadow:0 2px #8b72a3,inset 0 2px #eee0ff;color:#614679}
.camp-board,.paper,.formation,.gate-card,.collect-card,.boss-arena{background:var(--ui-card);border-color:var(--ui-border);box-shadow:0 3px var(--ui-shadow)}
.expedition-cta,.screen-main-actions .formation-footer{background:#fcfbff}.expedition-cta p,.camp-end-run{color:#89768c}
.school-summary>button,.camp-links>button,.home-next{background:#f9f7ff;border-color:#a497ba;box-shadow:0 2px #c1b6d2;color:#786588}
.school-summary b,.home-next b{color:#685077}.home-next small,.school-summary>button>span{color:#81758f}
.map-sign,.map-destination{background:#fbf8ff;border-color:#a28eb5;color:#736080}
.progress-guide,.unlock-notice{background:#e8e0f8;border-color:#b39acc;color:#73558c;box-shadow:0 2px #c9badd}
.character-copy{background:#fcfbff}.character-copy>p,.card-language{color:#89768f}.card-language{border-color:#e0d8eb}
.character-art{background:radial-gradient(ellipse at center,#f4f0fc,#e2d9ef)}
.candidate{background:#faf9ff;border-color:#ac9cbd;box-shadow:0 2px #c1b4cf;color:#675475}.candidate.selected{background:#e6daf7;border-color:#9474b7}
.team-strength,.team-screen .formation>small,.team-screen .candidate small{color:#83708e}.team-strength b{color:#7853a0}
.trial-screen .boss-arena{background:#ece5f7;justify-content:center}.trial-screen .boss-figure{max-height:220px}
.trial-tools>button,.trial-rule{background:#f9f7ff;border-color:#ab9cba;color:#7e648f}.trial-rule small{color:#84718e}
.arena-badge{background:#faf6ff;border-color:#baabcc;color:#897099}.arena-power,.arena-power>b{color:#8a7096}.arena-power strong{color:#72518f}
.supply-banner{background:#e7e0f4;border-color:#a28bb9;box-shadow:0 3px #b6a3c7;color:#7b5e8e}.supply-banner h2{color:#715083}.supply-banner p,.supply-banner-kicker{color:#897398}
.supply-banner>strong,.supply-pity{background:#f6f2fc;border-color:#c4b4d6;color:#8a719c}
.mall-wallet{background:#e4dcf1;border-color:#ae9bc3;color:#78618d}.supply-links button{color:#86649f}.supply-links>span{color:#94839e}
.cabinet-entry{background:#ede5f7;border-color:#a18ab5;box-shadow:0 2px #bca8ce;color:#79588f}.cabinet-entry small,.cabinet-entry em{color:#92739f}
.supply-growth-wallet,.supply-upgrade-panel{background:#efebf8;border-color:#c0b2d2;color:#7e6391}.supply-growth-wallet button{background:#faf7ff;border-color:#b4a0c7;color:#80618e}
.supply-tile,.screen-sheet .supply-tile{background:#faf9ff;border-color:#a394b8;box-shadow:1px 3px #c0b3cf;color:#765983}.supply-tile>b{color:#695174}.supply-tile>small{color:#84718d}
.supply-tile:before{background:#e5dcef;border-color:#bdaccf}.screen-list-page.supply-collection{background:#e1d9ee;border-color:#b2a1c4;box-shadow:0 3px #c6b9d5}
.supply-tile[data-quality="1"]{background:#edf7f0;border-color:#95b39f}.supply-tile[data-quality="2"]{background:#eef2fd;border-color:#9caed3}
.supply-tile[data-quality="3"],.supply-result-card[data-quality="3"]{background:#ede0fa;border-color:#b38ccb}.supply-tile[data-quality="4"],.supply-result-card[data-quality="4"]{background:#fcf0c7;border-color:#bea061;box-shadow:1px 3px #d4ba80,inset 0 0 0 2px #fff8dd}
.supply-detail p,.supply-detail .supply-copies,.supply-rate-table,.supply-result-cost{color:#89718f}.supply-detail-buff{background:#f0e8f8;border-color:#bba6cc;color:#80608f}
.sketch-dialog,.sketch-dialog.wide-dialog,.screen-dialog-actions,.screen-dialog-actions .modal-footer{background:#faf8ff;color:#695174}
.sketch-dialog,.sketch-dialog.wide-dialog{background-image:linear-gradient(90deg,#e1d8ef 0 5px,transparent 5px);border-color:#897295;box-shadow:0 5px #a38daf,0 18px 65px #33283830}
.sketch-dialog:before{background:#e5dcee;border-color:#c4b3d4}.dialog-close{background:#ddd0ee!important;border-color:#a088b6!important;color:#795c8f!important;box-shadow:0 2px #b9a4ca}
.phone-modal-shade{background:#332d4852}.screen-dialog-actions .modal-footer{border-color:#d9cee4}.screen-sheet>p,.screen-sheet .small.muted,.detail-hero p,.finish-hero p{color:#8b7294}
.event-options>button,.campus-options>button,.shop-card{background:#f8f4fd;border-color:#b8a3c9;box-shadow:0 2px #cebedc;color:#80608c}.event-options small,.shop-card p{color:#967c9e}
.option-letter,.tags>span{background:#e8dff3;border-color:#c0abd0;color:#876397}.learned-list>div:not(.empty-state){background:#ebe1f5;border-color:#c2a8d3}.teacher-progress>div{background:#eeebf8;border-color:#c5b6d7;color:#8a709b}
.school-name-label,.school-name-note,.skill-row small,.history-list>div,.guide-steps p{color:#88708f}input,select,#school-name{background:#fff;border-color:#b9a7cc;color:#745581}
.school-week-strip>span{background:#f9f7fe;border-color:#baaccb;color:#877694;box-shadow:0 2px #cec3dc}.school-week-strip .match-day{background:#e8ddf7;color:#85659d}.school-week-strip .outing-day{background:#deeee6;color:#6a8b7d}.school-week-strip .today{background:#8063aa;border-color:#685080;color:#fff;box-shadow:0 2px #79618d}
.classroom-title span,.school-action-heading>button{color:#887493}.classroom-stage .classroom-nameplate{background:#fbf7ff;border-color:#b49ac6;color:#735780}.school-next-goal{background:#e7dcf4;border-color:#ba9fc9;color:#8c699c}.classroom-screen .stage-speech{background:#fcf8ff;border-color:#a98dba;color:#8a659b}
.learning-dashboard,.compact-learning{background:#faf8ff;border-color:#b09bc4;box-shadow:0 2px #c8b5d7}.learning-dashboard-stat{background:#eeebf9;border-color:#c5b6d7}.learning-dashboard-label,.compact-learning .learning-dashboard-label{color:#8b749a}.learning-dashboard-value,.compact-learning .learning-dashboard-value{color:#78538e}.learning-dashboard-language{background:#e9f0f9;border-color:#bccbdf}.learning-dashboard-language .learning-dashboard-label{color:#8198b3}.learning-dashboard-language .learning-dashboard-value{color:#6989ad}.compact-learning .learning-dashboard-stats{border-color:#dbcee8}
.attribute-choice{background:#faf7ff;border-color:#aa91be;box-shadow:1px 3px #bda7cf}.attribute-choice.inspired{background:#e4d8f5;border-color:#9b78b3}.attribute-choice>b,.attribute-choice>strong{color:#7d5892}.attribute-choice>small{color:#a27da1}
.school-rest,.camp-rest{background:#deeee6;border-color:#a1bdaf;box-shadow:0 2px #b5cdbf;color:#6b8d7a}.school-rest b{color:#658571}.outing-actions>button,.tactic-choices button,.school-duel-card{background:#f9f6ff;border-color:#af99c1;box-shadow:0 3px #c4b1d4;color:#856294}
.tactic-choices button.selected{background:#e1d0f4;border-color:#9f7fba}.school-duel-card{background:#f0e8f9}.route-card{background:#f9f6ff;border-color:#ad91c1;box-shadow:0 3px #bea8cf}.route-card.rarity-elite{background:#e6d6f6;border-color:#ae8cc8}
.setup-oath-list>button,.mentor-card{background:#faf7ff;border-color:#bda4cf;box-shadow:0 3px #cebbdc}.setup-oath-list>button.selected,.mentor-card.selected{background:#e5d4f6;border-color:#a17bbc}.student-roll-card{background:#ece3f8;border-color:#b090c6;box-shadow:0 4px #c2a8d4}.student-roll-card .random-button{background:#e5d6f8;border-color:#a685bd;color:#826092;box-shadow:0 3px #b89dcd}.setup-progress b{background:#f5effb;border-color:#c2add3;color:#9b80ac}.setup-progress:before{background:#d2bedf}.setup-progress .current b{background:#d6bced;border-color:#a583bd;color:#805797}
.result-numbers,.battle-stage{background:#ece3f6;border-color:#b89bc9}.war-notes{background:#eff3fa;border-color:#c2cfe1;color:#7f94b0}.war-notes p{color:#7c90a9}.lesson-clock-card{background:#faf7ff;border-color:#ac8fbd;box-shadow:0 5px #c5acd4}.lesson-clock{background:#e3d4f4;border-color:#a785bc;box-shadow:inset 0 0 0 4px #f9f4ff}
/* Inventory is a full cabinet spread, not a four-item insert surrounded by blank paper. */
.cabinet-dialog .screen-dialog-body{display:flex;flex-direction:column;overflow:hidden}
.cabinet-dialog .cabinet-sheet{height:100%;display:flex;flex:1;min-height:0;flex-direction:column;gap:7px}
.cabinet-sheet>h2{font-size:21px;line-height:1.4;margin:0}.cabinet-sheet>h2 small{color:#967ba2}.cabinet-sheet .supply-growth-wallet{margin:0;padding:7px 8px;flex-shrink:0}.cabinet-help{font-size:10px;margin:0;color:#92759e}
.cabinet-sheet>.supply-collection{flex:1;min-height:0;grid-template-columns:repeat(var(--cabinet-columns,3),minmax(0,1fr));grid-auto-rows:112px;align-content:start;gap:8px}
.cabinet-sheet .screen-list-page.supply-collection{display:grid;grid-template-columns:repeat(var(--cabinet-columns,3),minmax(0,1fr));grid-auto-rows:112px;align-content:start;gap:8px;padding:0;border:0;background:none;box-shadow:none;min-height:0!important;flex:1}
.cabinet-sheet .supply-tile,.screen-sheet .cabinet-sheet .supply-tile{height:112px;min-height:112px;padding:5px 3px;gap:0;overflow:hidden}
.cabinet-sheet .supply-tile .supply-illustration{width:45px;height:45px;margin:0}.cabinet-sheet .supply-tile>b{font-size:10px;margin:2px 0;line-height:1.3;white-space:nowrap}.cabinet-sheet .supply-tile>small{font-size:7px;line-height:1.5}.cabinet-sheet .supply-tile .supply-level,.cabinet-sheet .supply-copies{font-size:7px;line-height:1.4}.cabinet-sheet .supply-tile-quality{font-size:7px;padding:1px 3px;line-height:1.2}
.cabinet-sheet .screen-list-pager{margin-top:0}.cabinet-sheet .supply-empty{flex:1;display:flex;flex-direction:column;justify-content:center}
.mall-screen .supply-banner-art,.mall-screen .supply-crate-art{max-height:none}
@media(max-width:350px){.workbench-entry{padding:4px;font-size:9px;margin-right:5px}.mobile-top .brand>span{max-width:175px}}
/* Copies share the quality row; do not clip an extra sentence under the attributes. */
.cabinet-sheet .supply-tile .supply-copies{position:absolute;top:5px;right:5px;margin:0;font-size:8px;font-weight:700;color:#8a7096;background:#f9f5ffb3;padding:1px 3px;border-radius:3px}
.cabinet-sheet .supply-tile:before,.cabinet-sheet .supply-tile:after{display:none}
/* Draw results keep an explicit five-quality palette, independent of the page paper. */
.supply-result-card[data-quality="0"]{background:#e8eaf0;border-color:#9296a4;box-shadow:0 3px #b5b9c5,inset 4px 0 #9296a4}
.supply-result-card[data-quality="1"]{background:#dcefe2;border-color:#6f9b7e;box-shadow:0 3px #a0c4ac,inset 4px 0 #6f9b7e}
.supply-result-card[data-quality="2"]{background:#dce8fc;border-color:#7296cd;box-shadow:0 3px #a3bce4,inset 4px 0 #7296cd}
.supply-result-card[data-quality="3"]{background:#e9d9fa;border-color:#a579c6;box-shadow:0 3px #c4a3db,inset 4px 0 #a579c6}
.supply-result-card[data-quality="4"]{background:#f9e6aa;border-color:#bb903e;box-shadow:0 3px #d5b366,inset 4px 0 #bb903e}
.supply-result-card>small{font-weight:800;color:var(--supply-color)}
