/* Stage 9A5.1: unified quest UI. Scoped only; no global table/form/layout overrides. */
.yw2q-panel,.yw2q-browser{box-sizing:border-box;margin:14px 0 22px;padding:20px;border:2px solid #ebd7b4;border-radius:17px;background:#fffbf1;color:#323946;text-align:left;font-size:14px;line-height:1.7;box-shadow:0 4px 0 rgba(161,114,62,.08)}
.yw2q-panel *,.yw2q-browser *{box-sizing:border-box}
.yw2q-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.yw2q-panel .yw2q-heading h2,.yw2q-browser .yw2q-heading h2{border:0;background:none;box-shadow:none;padding:0;margin:0;color:#423523;font-size:20px;line-height:1.45;min-width:0;text-align:left}
.yw2q-heading .yw2-icon{flex:0 0 34px;width:34px;height:34px}
.yw2q-version{display:inline-block;max-width:100%;padding:3px 9px;border:1px solid #dec598;border-radius:20px;background:#fff1d1;color:#654b27;font-size:11px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}
.yw2q-shinuchi{background:#eae7fb;border-color:#c7bee9;color:#594576}.yw2q-ganso{background:#e5f3ff;border-color:#b3d4ed;color:#28537b}.yw2q-honke{background:#ffebe5;border-color:#edc0b5;color:#974d32}.yw2q-key{background:#ffe5b9;border-color:#e7bd74;color:#764719}
.yw2q-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
.yw2q-facts>div{border:1px solid #d5e4e2;border-radius:11px;padding:11px 14px;background:#f2faf8;min-width:0}
.yw2q-facts dt{font-size:11px;font-weight:700;color:#55716e;margin-bottom:4px}.yw2q-facts dd{font-size:17px;font-weight:700;margin:0;color:#234b46;line-height:1.5}
.yw2q-rank{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 5px;border:2px solid #e2b048;border-radius:50%;background:linear-gradient(#fffbd9,#ffcb5f);box-shadow:0 2px 0 #d4a23e;color:#5d361a;font-size:17px;font-weight:800;line-height:1}
.yw2q-panel .yw2q-section{margin-top:14px;padding-top:12px;border-top:1px dashed #d6cbb3}
.yw2q-panel .yw2q-section h3{background:none;border:0;box-shadow:none;color:#3f6662;font-size:14px;line-height:1.7;margin:0 0 5px;padding:0;text-align:left}
.yw2q-section p{margin:0;overflow-wrap:anywhere}.yw2q-section ul{margin:0;padding-left:1.35em}.yw2q-section li{margin:3px 0}
.yw2q-panel a,.yw2q-browser a{color:#255e91;text-decoration:none;font-weight:700}.yw2q-panel a:hover,.yw2q-browser a:hover{text-decoration:underline;color:#163f69}
.yw2q-panel a:focus-visible,.yw2q-browser a:focus-visible,.yw2q-browser button:focus-visible{outline:3px solid #377eab;outline-offset:3px;border-radius:4px}
.yw2q-footnote{margin:15px 0 0!important;font-size:11px;color:#66695f;line-height:1.65}.yw2q-intro{margin:0 0 14px;font-size:13px;color:#666152}
.yw2q-browser .yw2q-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:13px;margin:12px 0;background:#f0f6f5;border:1px solid #d1e2df;border-radius:12px}
.yw2q-browser .yw2q-filters[hidden],.yw2q-browser [hidden]{display:none!important}
.yw2q-filters label{display:flex;flex-direction:column;min-width:0;gap:5px;font-size:11px;font-weight:700;color:#3c615c}.yw2q-filters .yw2q-search-label{grid-column:1/-1}
.yw2q-browser .yw2q-filters input,.yw2q-browser .yw2q-filters select{position:static;display:block;width:100%;max-width:100%;min-width:0;height:42px;min-height:42px;margin:0;padding:8px 10px;border:1px solid #adc7c3;border-radius:8px;background:#fff;color:#273f3a;font:400 14px/1.4 sans-serif;box-shadow:none;text-indent:0;letter-spacing:normal;transform:none}
.yw2q-browser .yw2q-filters input:focus,.yw2q-browser .yw2q-filters select:focus{outline:2px solid #408381;outline-offset:1px}
.yw2q-browser .yw2q-filters button{grid-column:1/-1;justify-self:end;position:static;display:inline-block;width:auto;min-height:36px;padding:6px 13px;border:1px solid #aec9c4;border-radius:8px;background:#fff;color:#355f58;font:700 12px/1.5 sans-serif;box-shadow:0 2px 0 #dae5e2;cursor:pointer}
.yw2q-count{font-size:13px;font-weight:700;color:#49645e;margin:12px 0}.yw2q-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.yw2q-card{background:#fff;border:1px solid #e2d9c6;border-radius:13px;overflow:hidden;min-width:0;padding:14px;box-shadow:0 2px 0 #efe6d5}
.yw2q-card-top{display:flex;justify-content:space-between;gap:5px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.yw2q-watch{font-size:10px;color:#685f50;white-space:nowrap}.yw2q-watch strong{display:inline-block;min-width:23px;text-align:center;border:1px solid #d2a64f;border-radius:50%;background:#ffefbf;color:#624216;font-size:14px;line-height:22px}
.yw2q-browser .yw2q-card h3{min-height:2.8em;margin:0 0 9px;padding:0;background:none;border:0;box-shadow:none;font-size:15px;line-height:1.45;text-align:left;overflow-wrap:anywhere;color:#254963}
.yw2q-card-meta{display:flex;flex-wrap:wrap;gap:5px 10px;border-top:1px solid #eee8de;padding-top:8px;font-size:11px;color:#6a6b64}.yw2q-card-meta b{color:#35433f;margin-left:3px}
.yw2q-location{margin:10px 0!important;font-size:12px;color:#5d615e;line-height:1.6;overflow-wrap:anywhere}.yw2q-location>span{font-weight:700;color:#5a7870}
.yw2q-rewards{display:flex;align-items:flex-start;gap:10px;border-radius:8px;background:#fbf5e7;padding:8px 10px;font-size:12px;line-height:1.65;overflow-wrap:anywhere}.yw2q-rewards>span{flex:0 0 auto;color:#80662c;font-size:11px;font-weight:700}.yw2q-rewards>div{min-width:0}
.yw2q-empty{border:1px dashed #d7c6a4;border-radius:10px;background:#fff;padding:18px;color:#706044}
@media(max-width:760px){.yw2q-grid{grid-template-columns:minmax(0,1fr)}.yw2q-browser .yw2q-card h3{min-height:0}.yw2q-panel,.yw2q-browser{padding:15px}}
@media(max-width:420px){.yw2q-panel,.yw2q-browser{padding:12px;border-radius:13px}.yw2q-panel .yw2q-heading h2,.yw2q-browser .yw2q-heading h2{font-size:18px}.yw2q-facts>div{padding:9px 10px}.yw2q-facts dd{font-size:15px}.yw2q-browser .yw2q-filters{grid-template-columns:minmax(0,1fr);padding:10px}.yw2q-filters label:not(.yw2q-search-label){display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center}.yw2q-card{padding:12px}}
@media print{.yw2q-filters{display:none!important}.yw2q-card,.yw2q-panel{break-inside:avoid;box-shadow:none}}
.yw2q-heading .yw2-icon{background:url("../img/ui/icon_quest.png") center/contain no-repeat}
.yw2q-heading .yw2-icon::before{content:none!important}

/* Stage 9A5.1: detail/list unification for たのみごと and おてつだい. */
.yw2q-detail .yw2q-facts{margin-bottom:4px}
.yw2q-detail .yw2q-section:first-of-type{margin-top:12px}
.yw2q-detail-reward>div{padding:10px 12px;border-radius:9px;background:#fbf5e7;color:#4a4337;line-height:1.7}
.yw2q-help{background:#edf4ff;border-color:#bfd1ea;color:#345a86}
.yw2q-level{font-size:10px;color:#685f50;white-space:nowrap}
.yw2q-level strong{font-size:14px;color:#3d5365}
.yw2q-task{display:grid;gap:6px}
.yw2q-task>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:start;padding:7px 9px;border-radius:8px;background:#f4f8f7;line-height:1.6}
.yw2q-task strong{color:#456b65;font-size:11px}
.yw2q-task span{min-width:0;overflow-wrap:anywhere;color:#4d5552}
.yw2q-card-task{margin:9px 0}
.yw2q-help-card .yw2q-card-meta:empty{display:none}
.yw2q-help-filters{grid-template-columns:minmax(0,2fr) minmax(160px,1fr)!important}
.yw2q-help-filters .yw2q-search-label{grid-column:auto!important}
.yw2q-help-filters button{grid-column:1/-1!important}
@media(max-width:620px){.yw2q-help-filters{grid-template-columns:minmax(0,1fr)!important}.yw2q-help-filters .yw2q-search-label{grid-column:1!important}.yw2q-task>div{grid-template-columns:78px minmax(0,1fr)}}

/* Stage 9A5.2: spot list/detail; scoped to quest components only. */
.yw2q-map-nav{box-sizing:border-box;margin:0 0 18px;padding:9px 13px;border:1px solid #e2d0ad;border-radius:14px;background:linear-gradient(#fff,#fffaf0);box-shadow:0 3px 8px #283d5210;color:#2c475a;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.yw2q-map-nav>summary{display:flex;align-items:center;gap:9px;padding:2px 0;cursor:pointer;min-height:40px;font-size:15px;font-weight:700;line-height:1.6;list-style:none}
.yw2q-map-nav>summary::-webkit-details-marker{display:none}
.yw2q-map-nav>summary::after{content:"";margin-left:auto;border:5px solid transparent;border-top:6px solid #55717f;transform:translateY(3px)}
.yw2q-map-nav[open]>summary::after{transform:rotate(180deg) translateY(3px)}
.yw2q-map-nav>summary img{width:28px;height:28px;min-width:28px;flex:0 0 28px}
.yw2q-map-links{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 3px;padding-top:11px;border-top:1px solid #eadfce}
.yw2q-map-nav .yw2q-map-links a{display:flex;align-items:center;justify-content:center;min-height:37px;padding:5px 11px;border:1px solid #dacfbd;border-radius:8px;background:#fff;color:#275774;font-size:13px;line-height:1.65;text-decoration:none;box-sizing:border-box}
.yw2q-map-nav .yw2q-map-links a:visited{color:#275774}
.yw2q-map-nav .yw2q-map-links a:hover{background:#eaf3f7;border-color:#9fb7c5;color:#173e54}
.yw2q-map-nav summary:focus-visible,.yw2q-map-nav a:focus-visible{outline:3px solid #377f9b;outline-offset:3px}
@media(max-width:760px){.yw2q-map-nav{margin-bottom:15px;padding:8px 11px}.yw2q-map-nav>summary{font-size:14px}.yw2q-map-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.yw2q-map-nav .yw2q-map-links a{font-size:12px;padding:6px 5px}.yw2q-map-nav .yw2q-map-links a:last-child{grid-column:1/-1}}

.yw2q-spot{background:#edeaff;border-color:#cabfec;color:#584279}
.yw2q-spot-card{display:flex;flex-direction:column}
.yw2q-spot-card .yw2q-rewards{margin-top:auto}
.yw2q-spot-browser .yw2q-card h3{min-height:0}
.yw2q-spot-location>strong,.yw2q-spot-encounter>strong{font-size:12px;color:#465e64}
.yw2q-spot-location p{margin:4px 0!important}
.yw2q-place-points{margin:4px 0 0!important;padding-left:1.25em!important;line-height:1.7}
.yw2q-spot-encounter{margin:0 0 13px}
.yw2q-panel .yw2q-monsters,.yw2q-browser .yw2q-monsters{display:flex;flex-wrap:wrap;gap:5px;list-style:none;padding:0;margin:6px 0 0}
.yw2q-panel .yw2q-monsters li,.yw2q-browser .yw2q-monsters li{margin:0;padding:4px 9px;background:#f0f4fa;border:1px solid #d8e0ed;border-radius:7px;color:#324b62;font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.yw2q-panel .yw2q-monsters a,.yw2q-browser .yw2q-monsters a{display:inline-block;padding:2px 0;text-decoration:underline;text-underline-offset:3px}
.yw2q-spot-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.yw2q-spot-filters .yw2q-search-label{grid-column:1/-1!important}
.yw2q-guide-note{margin:16px 0 0;padding:10px 12px;border:1px solid #d5dee6;border-radius:10px;background:#f4f7fa;color:#435367;font-size:12px;line-height:1.8}
.yw2q-guide-note summary{cursor:pointer;font-weight:700;min-height:24px;line-height:24px;color:#344b62}
.yw2q-guide-note p{margin:8px 0 0!important}
.yw2q-spot-map{margin:16px auto;text-align:center}.yw2q-spot-map img{width:auto;max-width:100%;height:auto;border-radius:10px}
.yw2q-detail-return{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.yw2q-detail-return a{border:1px solid #b8cadb;background:#fff;padding:9px 15px;border-radius:9px;min-height:42px;line-height:24px}
@media(max-width:420px){.yw2q-spot-filters{grid-template-columns:minmax(0,1fr)!important}}
