/* Star Road: the lantern path, today's three cards, and lesson perks. Quiet pixel-RPG styling. */
#desk-menu{grid-template-columns:repeat(4,minmax(0,1fr))}
#desk-menu #desk-today.has-next::after{content:' •';color:#ffe5a1}
.road-strip{display:block;width:100%;flex-shrink:0;border:0;border-top:1px solid #5d7a60;background:#3a5a46;color:#f1e4b4;font:inherit;font-size:11px;line-height:1.5;text-align:left;padding:5px 12px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:26px}
.road-strip::before{content:'✧ ';color:#ffe29b}
.road-strip:hover,.road-strip:focus-visible{background:#466b52;outline:2px solid #d9c281;outline-offset:-2px}
.road-strip[hidden]{display:none}
.road-lanterns{display:flex;flex-direction:column;gap:6px;margin:0 0 10px}
.road-row{display:grid;grid-template-columns:54px minmax(0,1fr) 42px;align-items:center;gap:6px;padding:6px 8px;border:1px solid #c9c7a8;background:#f7f3e3}
.road-row.sealed{border-color:#a69660;background:#efe6c3}
.road-row>b{font:12px ui-monospace,monospace;color:#5d6b4f;display:flex;flex-direction:column;line-height:1.3}
#sound-dialog #desk-view .road-row>b small{font-size:9px;color:#7a8469;line-height:1.3}
.road-lamps{display:flex;gap:4px}
.road-lamp{flex:1;min-width:0;min-height:30px;border:1px solid #b5b596;background:#e8e6d2;color:#8a8f78;font:16px ui-monospace,monospace;cursor:pointer;padding:0}
.road-lamp i{font-style:normal}
.road-lamp.lit{background:#f6d77b;border-color:#c7a24c;color:#5a4414;box-shadow:inset 0 0 0 2px #fff0b8}
.road-lamp.next{background:#dfe8cf;border-color:#6d8f5f;color:#2f5533;animation:road-glow 1.6s ease-in-out infinite}
.road-lamp.dim{cursor:default}
.road-lamp:focus-visible{outline:3px solid #a4873c;outline-offset:2px}
.road-seal{font-size:10px;text-align:center;color:#7d7a5c;border:1px dashed #b8b08b;padding:5px 0;white-space:nowrap}
.road-seal.on{border:1px solid #a68d4d;background:#d9c17c;color:#3d2f0e;font-weight:700}
@keyframes road-glow{0%,100%{box-shadow:0 0 0 0 #a9c99a00}50%{box-shadow:0 0 0 4px #a9c99a80}}
.road-side{display:flex;flex-wrap:wrap;gap:5px;align-items:center;font-size:11px;margin:0 0 10px;color:#5f6d52}
.road-side-item{font:inherit;font-size:11px;cursor:pointer;border:1px solid #b5b596;background:#eeeadb;color:#4a5c43;padding:4px 7px;min-height:28px}
.road-side-item.lit{background:#f6e3a2;border-color:#c7a24c}
.road-card{border:1px solid #a9ad92;background:#fbf8ea;padding:12px;margin:0 0 9px}
#sound-dialog #desk-view .road-card small{display:block;font-size:10px;color:#6b785d;letter-spacing:.4px;line-height:1.5}
#sound-dialog #desk-view .road-card h4{font-size:15px;margin:4px 0 6px;color:#2f4a3b;line-height:1.4}
#sound-dialog #desk-view .road-card p{margin:6px 0}
.road-card .btn{width:100%;margin:8px 0 6px;min-height:40px;font-size:13px}
.road-lesson{border-color:#7f9b6a;background:#eef3df}
.road-lesson.done-today{background:#f3f1e4;border-color:#b7b89e}
#sound-dialog #desk-view .road-perk-line{color:#4f6536;background:#e5ecd1;padding:6px 8px;border-left:3px solid #8aa26a;font-size:12px}
.road-finale{text-align:center;border:2px double #a68d4d;background:#f3eacb}
.road-finale-art{width:72px;margin:6px auto}
.road-seals{list-style:none;padding:0;margin:8px 0;text-align:left;font-size:12px}
.road-seals li{padding:4px 0;border-bottom:1px dashed #cdbf8d}
.road-perks{border-top:1px solid #c4c9ad;padding-top:8px;font-size:12px}
.road-perks summary{cursor:pointer;min-height:30px;font-weight:600;color:#3d5342}
#road-status:empty{display:none}
#road-status{padding:6px 8px;background:#e2e8cf;border-left:3px solid #819362}
.combat-perks{display:flex;flex-direction:column;gap:4px;padding:9px;margin:0 0 12px;border:1px solid #bdbd9b;background:#f1eed9;font-size:11px;color:#4f6342}
.combat-perks b{font-size:12px}
.combat-perks button{align-self:flex-start;font:inherit;font-size:11px;cursor:pointer;border:1px solid #8b9a80;background:#e6e9d5;color:#385143;padding:4px 8px;min-height:28px;margin-top:2px}
.quest-perk{display:block;font-size:11px;color:#6f7a52;margin-top:4px}
#journey-dialog .journey-perk{display:block;color:#5a6f3f;margin:2px 0}
[data-camp-theme="night"] .road-row{background:#2f463c;border-color:#6f7f68}
[data-camp-theme="night"] .road-row.sealed{background:#4a4e36;border-color:#a68d4d}
[data-camp-theme="night"] .road-row>b{color:#cdd3b4}
[data-camp-theme="night"] #sound-dialog #desk-view .road-row>b small{color:#aab494}
[data-camp-theme="night"] .road-lamp{background:#3a4d41;border-color:#6f7f68;color:#9fae95}
[data-camp-theme="night"] .road-lamp.lit{background:#d9b85e;color:#3b2d0c}
[data-camp-theme="night"] .road-lamp.next{background:#4f6b4c;color:#e7f0c8;border-color:#9ab87f}
[data-camp-theme="night"] .road-seal{color:#c9cdb1;border-color:#8d907a}
[data-camp-theme="night"] .road-card,[data-camp-theme="night"] .combat-perks{background:#2d433a;border-color:#75836d;color:#e1ddbd}
[data-camp-theme="night"] .road-lesson{background:#34503f;border-color:#8aa26a}
[data-camp-theme="night"] .road-finale{background:#4a4a32}
[data-camp-theme="night"] #sound-dialog #desk-view .road-card h4,[data-camp-theme="night"] .road-perks summary{color:#f0e6c0}
[data-camp-theme="night"] #sound-dialog #desk-view .road-card small,[data-camp-theme="night"] .road-side,[data-camp-theme="night"] .combat-perks{color:#cbd1b3}
[data-camp-theme="night"] #sound-dialog #desk-view .road-perk-line{background:#3c5538;color:#e2ecc6}
[data-camp-theme="night"] .road-side-item{background:#3a4d41;border-color:#6f7f68;color:#e1ddbd}
[data-camp-theme="night"] .combat-perks button{background:#3f5546;color:#eae3c3;border-color:#8b9a80}
[data-camp-theme="night"] #road-status{background:#354d3d}
@media(max-width:720px){
 #desk-menu{grid-template-columns:repeat(4,minmax(0,1fr))}
 .road-strip{font-size:9px;padding:3px 8px;min-height:20px}
 .road-row{grid-template-columns:40px minmax(0,1fr) 34px;padding:4px 6px;gap:4px}
 .road-lamp{min-height:26px;font-size:14px}
 .road-card{padding:9px}#sound-dialog #desk-view .road-card h4{font-size:13px}.road-card .btn{min-height:36px;font-size:12px;margin:6px 0 4px}
 .road-lanterns{gap:4px;margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){.road-lamp.next{animation:none;box-shadow:0 0 0 3px #a9c99a80}}
.road-stamps{border:1px solid #a9ad92;background:#fbf8ea;padding:10px 12px;margin:0 0 9px;font-size:12px}
.road-stamps summary{cursor:pointer;font-weight:600;min-height:30px;color:#3d5342}
.stamp-row{display:grid;grid-template-columns:62px 1fr;gap:6px;align-items:start;margin:6px 0}
.stamp-row>b{font-size:11px;color:#5d6b4f;padding-top:3px}
.stamp-cells{display:flex;flex-wrap:wrap;gap:4px}
.stamp{display:inline-flex;align-items:center;gap:3px;border:1px solid #c9c7a8;background:#efeadb;padding:2px 6px;font-size:11px;color:#8a8f78}
.stamp.on{background:#f6d77b;border-color:#c7a24c;color:#5a4414}
.stamp small{font-size:10px!important;line-height:1.2}
#sound-dialog #desk-view .road-card .btn+ .btn{margin-top:0}
.sound-more-five{margin:8px 0 0}
[data-camp-theme="night"] .road-stamps{background:#2d433a;border-color:#75836d;color:#e1ddbd}
[data-camp-theme="night"] .road-stamps summary{color:#f0e6c0}
[data-camp-theme="night"] .stamp{background:#3a4d41;border-color:#6f7f68;color:#c9cdb1}
[data-camp-theme="night"] .stamp.on{background:#d9b85e;color:#3b2d0c}
.road-goal{position:relative;margin:6px 0 2px;padding:5px 8px 9px;background:#e5ecd1;border-left:3px solid #8aa26a;font-size:11px;color:#4f6536}
.road-goal span{display:block;margin-bottom:5px}
.road-goal i{display:block;height:4px;background:#7f9b6a;transition:width .4s}
[data-camp-theme="night"] .road-goal{background:#3c5538;color:#e2ecc6}
