.workout-row {display:flex;align-items:center;gap:8px;}
.workout-row .habit {flex:1;min-width:0;}
.rest-button {flex-shrink:0;font-size:12px;min-height:40px;}
.rest-button.selected {background:#e6f0db;border-color:#82a75c;color:#365323;}
.rest-note {font-size:12px;line-height:1.5;color:#616b65;margin:5px 0 16px;}
.dex-number {font-variant-numeric:tabular-nums;font-weight:700;color:#4d635e;}
.condition-son {background:#626da6;color:#fff;}
.condition-conf {background:#c982b1;color:#fff;}
.condition-healing {background:#e6f7e6;color:#168840;font-size:17px;font-weight:900;}
.save-recovery {max-width:700px;margin:80px auto;padding:32px;line-height:1.7;}
@media(max-width:500px){.rest-button{padding:8px;}.workout-row{gap:5px;}}
.wild-calendar{margin:26px 0;padding:24px;background:#f4f5df;border:4px solid #314a42;box-shadow:6px 6px 0 #a9ba8c;font-family:monospace;color:#243c32}.wild-calendar header{display:block;background:none;color:inherit;padding:0;margin-bottom:20px;border:0}.wild-calendar header>span{font-size:11px;letter-spacing:2px}.wild-calendar h2{text-transform:capitalize;font:700 23px monospace;margin:8px 0}.wild-week,.wild-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.wild-week{text-align:center;font-size:11px;font-weight:bold;margin-bottom:8px}.wild-day{position:relative;min-height:68px;background:#e3e9d4;border:2px solid #b5c2a3;padding:6px;display:flex;align-items:center;justify-content:center}.wild-day>b{position:absolute;top:4px;left:6px;font-size:12px}.wild-day.today{border-color:#253c31;box-shadow:inset 0 0 0 2px #b1cc69;background:#f8f6bf}.rarity-pixel{width:28px;height:28px;fill:var(--rarity);filter:drop-shadow(2px 2px 0 #314039)}.rarity-pixel.common{--rarity:#939b9f}.rarity-pixel.rare{--rarity:#398ad9}.rarity-pixel.epic{--rarity:#ed76b0}.rarity-pixel.legendary{--rarity:#eac83d}.pixel-eyes{fill:#23372e}.wild-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin:20px 0 12px}.wild-legend>span{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:bold}.wild-legend svg{width:20px;height:20px}.wild-calendar>p{font:12px monospace;text-align:center;margin-bottom:0}.box-slot.unavailable{background:#d9ddda;border-style:dashed;position:relative}.box-slot.unavailable .sprite{opacity:.36;filter:grayscale(.75)}.storage-clock{position:absolute;right:3px;bottom:2px;color:#263e36;background:#f4edc7;border:1px solid #536d60;font-size:20px;line-height:22px;width:24px;height:24px;text-align:center}.league-guide{display:block;width:100%;max-width:100%;height:auto}.mon-xp-overlay{width:min(940px,94vw);max-height:90vh;padding:24px;border:4px solid #56764f;background:#f4f5df;box-shadow:6px 6px 0 #253b30}.mon-xp-overlay::backdrop{background:#152d25aa}.mon-xp-overlay h2{text-align:center;font-size:20px}.mon-xp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px}.mon-xp-card{display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px;background:#e0e9d2;border:2px solid #acbda0}.mon-xp-card .sprite{width:90px;height:90px}.mon-xp-card .bar{width:100%;height:12px}.mon-xp-card .bar i{transition:width .5s linear}.mon-xp-card .xp-gain{color:#3b734f}.xp-level{font:bold 13px monospace}.leveled{animation:level-flash .6s ease-out}.leveled .xp-level{animation:level-flip .4s ease-out;color:#28663c}@keyframes level-flash{40%{background:#e7ff9f;box-shadow:0 0 20px #c0e879}}@keyframes level-flip{0%{transform:rotateX(90deg) scale(1.2)}100%{transform:rotateX(0)}}@media(max-width:600px){.wild-calendar{padding:12px}.wild-days,.wild-week{gap:3px}.wild-day{min-height:55px}.wild-day>b{font-size:10px;left:3px}.rarity-pixel{width:22px;height:22px}.wild-legend{gap:12px}.mon-xp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.leveled,.leveled .xp-level{animation:none}.mon-xp-card .bar i{transition:none}}
.box-slot .storage-clock{opacity:1;color:#263e36;font-weight:bold}
.league-guide-dialog{width:min(850px,94vw);max-width:94vw}.league-guide-panel>h2{font-size:28px;margin:10px 0}.league-guide-scroll{overflow-x:auto}.league-guide-table{width:100%;border-collapse:separate;border-spacing:0 7px;font-size:14px}.league-guide-table thead th{text-align:left;font-size:11px;letter-spacing:1px;color:#57715e;padding:8px}.league-guide-table tbody th,.league-guide-table td{padding:8px;background:#e6ebd8;border-top:2px solid #c0ccb1;border-bottom:2px solid #c0ccb1;text-align:left;white-space:nowrap}.league-guide-table tbody th{border-left:2px solid #c0ccb1}.league-guide-table td:last-child{border-right:2px solid #c0ccb1;font-weight:700}.league-name{display:flex;align-items:center;gap:12px}.league-name img{width:64px;height:64px;object-fit:contain;image-rendering:pixelated}.league-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.champion-stamp{padding:4px 6px;background:#ead785;border:2px solid #7e6b2e;box-shadow:2px 2px 0 #c4ae53;color:#51451e;font:bold 10px monospace;letter-spacing:.5px}.current-league{font:bold 9px monospace;padding:5px;color:#3d654d}.league-guide-table .league-won th,.league-guide-table .league-won td{background:#f5edc9}.welcome-dialog{width:min(850px,94vw);max-width:94vw;border:4px solid #314f40;box-shadow:8px 8px 0 #172e25;background:#f1f3df}.welcome-tile{position:relative;border:2px solid #a4ba84;padding:26px;background:linear-gradient(135deg,#e2edca 0,#f7f7e8 55%);box-shadow:inset 4px 4px 0 #fff9,inset -4px -4px 0 #b0c18c55}.welcome-tile:before,.welcome-tile:after{content:'';position:absolute;width:12px;height:12px;background:#6d8951;top:-5px;left:-5px}.welcome-tile:after{top:auto;left:auto;bottom:-5px;right:-5px}.welcome-tile h1{font-size:32px;line-height:1.15;max-width:560px;margin:12px 0 24px;color:#233d30}.welcome-pixel-star{float:right;display:grid;place-items:center;width:58px;height:58px;background:#bad47a;box-shadow:4px 4px 0 #516d3f;font-size:40px;color:#294332}.welcome-copy{font-size:14px;line-height:1.7;color:#344b3c}.welcome-copy p{margin:0 0 16px}.welcome-copy p:last-child{font-weight:700}.welcome-bottom{border-top:2px dashed #adbf92;padding-top:18px;margin-top:20px;display:flex;justify-content:flex-end}.welcome-bottom .btn{box-shadow:4px 4px 0 #8ca76e;border-radius:0}@media(max-width:600px){.league-guide-table{font-size:12px}.league-name{gap:7px}.league-name img{width:44px;height:44px}.league-guide-table td,.league-guide-table tbody th{padding:5px}.league-name b{font-size:12px}.champion-stamp{font-size:8px}.welcome-tile{padding:18px}.welcome-tile h1{font-size:25px}.welcome-pixel-star{width:38px;height:38px;font-size:26px}.welcome-copy{font-size:13px}.welcome-bottom .btn{width:100%}}
/* Identidade visual e informações das metas. */
.brand-logo{width:86px;height:86px;object-fit:contain;image-rendering:pixelated;flex:none}
.welcome-logo{display:block;width:120px;height:120px;object-fit:contain;image-rendering:pixelated;margin:0 auto 18px}
.habit-with-info{display:flex;align-items:center;gap:10px}.habit-with-info .habit{flex:1;min-width:0}
.task-info-button{flex:none;display:grid;place-items:center;width:28px;height:28px;padding:0;border:2px solid #6c8766;background:#eef4dc;color:#344f3c;box-shadow:2px 2px 0 #b7c6a5;font:bold 16px Georgia,serif;border-radius:50%}
.task-info-button:hover{background:#d4e7ae}.task-info-button:focus-visible{outline:3px solid #376b59;outline-offset:3px}
.task-info-popover{position:fixed;inset:0;margin:auto;width:min(420px,calc(100vw - 32px));height:fit-content;max-height:80vh;overflow:auto;padding:22px;border:3px solid #38563e;background:#f6f7e8;color:#24382b;box-shadow:6px 6px 0 #1c302c55}
.task-info-popover::backdrop{background:#142b1726}
.task-info-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.task-info-popover h3{margin:0 0 12px;font-size:22px}.task-info-popover p{margin:0;color:#40533f;line-height:1.7;font-size:14px}
.workout-row{align-items:center}.vice-actions{align-items:center}.vice-actions .task-info-button{margin:0 2px}
@media(max-width:760px){.brand-logo{width:60px;height:60px}.brand{font-size:18px;gap:7px}.brand small{font-size:6px;letter-spacing:.5px}.welcome-logo{width:96px;height:96px}}
@media(max-width:400px){.brand small{display:none}.brand{font-size:15px}.brand-logo{width:48px;height:48px}.task-info-button{width:25px;height:25px}}

