/*
Theme Name: CNS QUEST Original
Theme URI: https://example.invalid/
Author: CNS QUEST
Description: 「CNSになるまで。」専用のオリジナルWordPressテーマ。承認済みホーム画像を使用。
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: cns-quest
*/
:root{--ink:#243b55;--paper:#fffdf8;--gold:#c8a66b}*{box-sizing:border-box}body{margin:0;background:#eeeae2;color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;line-height:1.85}a{color:#305c7a}.site-frame{max-width:1199px;margin:0 auto;box-shadow:0 8px 38px #28303a30;background:var(--paper);min-height:100vh}.hero{position:relative}.hero-image{display:block;width:100%;height:auto}.hot{position:absolute;display:block;background:transparent;border:0;cursor:pointer;border-radius:8px}.hot:focus-visible,.hot:hover{outline:3px solid #e4a952aa;outline-offset:-3px;background:#fff1a911}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}.screen-reader-text:focus{position:static;clip:auto;width:auto;height:auto}.site-nav{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:14px 16px;background:#f4efe4;border-bottom:1px solid #d8c6a8}.site-nav a{color:#243b55;text-decoration:none;border:1px solid #d5c09c;border-radius:7px;padding:5px 13px;background:#fffaf0;font-size:14px}.site-nav a:hover{background:#e6d9bf}.content-wrap{max-width:970px;margin:auto;padding:35px 35px 60px}.page-head{border-bottom:2px solid #d3b784;margin-bottom:24px;padding-bottom:14px}.page-head h1{font-family:Georgia,'Yu Mincho',serif;font-size:30px;margin:0}.page-head p{margin:4px 0;color:#65717a}.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.post-card{background:#fff;border:1px solid #e1d5bf;border-radius:12px;padding:20px;box-shadow:0 5px 15px #20334a0b}.post-card h2{font-family:Georgia,'Yu Mincho',serif;font-size:21px;line-height:1.5;margin:10px 0}.post-card h2 a{text-decoration:none}.post-card p{font-size:14px;color:#52616b}.post-meta{color:#758087;font-size:12px}.cat-tag{display:inline-block;background:#edf1e9;border:1px solid #d1ddc9;border-radius:30px;padding:2px 9px;font-size:12px}.entry{max-width:780px;margin:auto}.entry h1{font-family:Georgia,'Yu Mincho',serif;font-size:32px;line-height:1.5}.entry-body{font-size:16px;line-height:2.05;overflow-wrap:anywhere}.entry-body h2{font-size:24px;margin-top:2em;border-left:5px solid #c8a66b;padding-left:12px}.entry-body h3{font-size:20px;margin-top:1.7em}.entry-body p{margin:1.2em 0}.entry-body img{max-width:100%;height:auto;border-radius:8px}.entry-body blockquote{border-left:3px solid #c8a66b;background:#f7f2e9;padding:10px 20px;margin:20px 0}.entry-body a{text-decoration:underline}.entry-body table{display:block;overflow:auto}.entry-body pre{overflow:auto}.post-footer{border-top:1px solid #e2d8c8;margin-top:35px;padding-top:20px}.site-footer{text-align:center;color:#78818a;background:#f4efe4;padding:20px;font-size:12px}.pager{margin-top:24px}.pager .page-numbers{margin-right:8px}.category-links{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 26px}.category-links a{border:1px solid #d2c3a6;border-radius:20px;padding:4px 12px;text-decoration:none;font-size:13px;background:#fff}.empty-state{padding:30px;background:#f7f2e9;border-radius:12px}.skip-link{position:absolute;top:-60px;left:10px;background:#fff;padding:10px;z-index:100}.skip-link:focus{top:10px}@media(max-width:650px){.post-grid{grid-template-columns:1fr}.content-wrap{padding:22px 18px 40px}.entry h1{font-size:25px}.page-head h1{font-size:25px}.site-nav{gap:5px}.site-nav a{font-size:12px;padding:5px 8px}}

/* 公開ステータス：承認済みのホーム画像には手を加えない */
.public-progress{padding:26px 36px 32px;background:linear-gradient(145deg,#f4f1e7,#e7edf0);border-top:2px solid #c9b48a;border-bottom:2px solid #c9b48a}
.public-progress-heading{text-align:center;margin-bottom:20px}.public-progress-heading h2{font:700 25px Georgia,'Yu Mincho',serif;margin:5px 0;color:#233d50}.public-progress-heading p{font-size:12px;color:#64747d;margin:0}.progress-kicker{font:700 11px Georgia,serif;letter-spacing:.22em;color:#9a8050}
.public-progress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:1020px;margin:auto}
.progress-tile{background:#fffdf8;border:1px solid #cbbd9e;border-radius:10px;min-height:142px;padding:16px;box-shadow:0 4px 12px #253f5010}
.progress-tile>span{display:block;font-size:12px;color:#576c79}.progress-tile strong{display:block;font:700 30px Georgia,'Yu Mincho',serif;color:#294b62;margin:8px 0}.progress-tile strong small{font-size:14px;color:#77868c}.progress-tile em{font-style:normal;font-size:11px;color:#7c7b70}.progress-track{height:7px;border-radius:9px;background:#dce4e6;overflow:hidden;margin:4px 0 5px}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#6aafc4,#74bfa5);border-radius:9px}.progress-art-note{text-align:center;font-size:11px;color:#677781;margin:17px 0 0}
@media(max-width:750px){.public-progress{padding:24px 16px}.public-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-tile{min-height:130px;padding:13px}.progress-tile strong{font-size:25px}}

/* CNS QUEST front-of-home overlay; approved hero art stays untouched */
.cns-modal[hidden]{display:none!important}.cns-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:22px}.cns-modal-backdrop{position:absolute;inset:0;background:rgba(13,29,47,.78)}.cns-modal-window{position:relative;width:min(900px,100%);max-height:min(88vh,920px);display:flex;flex-direction:column;background:#fffaf0;border:3px solid #c5a36b;border-radius:15px;box-shadow:0 25px 90px #091523a0;overflow:hidden}.cns-modal-top{position:relative;background:#20374e;color:#fff3d7;padding:18px 62px 15px 25px;border-bottom:4px solid #c8a66b}.cns-modal-top h2{font:700 25px Georgia,'Yu Mincho',serif;margin:0}.cns-modal-eyebrow{font:700 10px Georgia,serif;letter-spacing:.2em;color:#d7c28f}.cns-modal-close{position:absolute;right:17px;top:16px;border:1px solid #c7b18d;border-radius:8px;background:#fff9ea;color:#263c50;font-size:27px;line-height:1;width:39px;height:39px;cursor:pointer}.cns-modal-content{overflow-y:auto;overscroll-behavior:contain;padding:25px;min-height:180px}.cns-modal-content h3{font-size:20px;color:#254159;margin:8px 0 15px}.cns-modal-content p{line-height:1.85}.cns-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 20px}.cns-btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border:1px solid #c7ac7d;background:#fff;border-radius:8px;color:#233e54;cursor:pointer;text-decoration:none;font:inherit}.cns-btn:hover,.cns-btn:focus-visible{background:#f3e6ce}.cns-search{display:block;width:100%;padding:12px;border:1px solid #c8b38e;border-radius:8px;background:#fff;font:inherit}.cns-filter{padding:10px;border:1px solid #c8b38e;border-radius:8px;background:#fff;font:inherit;max-width:100%}.cns-quest-list{display:grid;gap:8px;margin:15px 0}.cns-quest-item{display:flex;gap:12px;align-items:flex-start;padding:12px;background:#fff;border:1px solid #e5d7bd;border-radius:9px}.cns-quest-item input{margin-top:8px;width:18px;height:18px;accent-color:#3e8b93;flex-shrink:0}.cns-quest-item strong{display:block;font-size:15px}.cns-quest-item small{display:block;color:#6e7a7e;font-size:12px}.cns-quest-item.is-done{background:#edf6ed}.cns-count{font-weight:700;color:#285772}.cns-notice{font-size:12px;color:#65737b;background:#f0eee8;padding:10px 12px;border-radius:7px}.cns-article{background:#fff;border:1px solid #e2d5be;border-radius:9px;padding:18px;margin:12px 0}.cns-article h3{margin:0 0 5px}.cns-article-meta{font-size:12px;color:#6a7a80}.cns-modal-content .entry-body img{max-width:100%;height:auto}.cns-map-steps{display:grid;gap:14px}.cns-map-step{border-left:5px solid #c3a168;background:#fff;padding:14px 17px;border-radius:8px}.cns-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cns-status-tile{border:1px solid #ddc8a5;background:#fff;border-radius:10px;padding:16px}.cns-status-tile strong{font-size:25px;display:block;color:#29506b}.cns-modal-content a{overflow-wrap:anywhere}@media(max-width:650px){.cns-modal{padding:8px}.cns-modal-window{max-height:94vh}.cns-modal-content{padding:15px}.cns-status-grid{grid-template-columns:1fr}.cns-modal-top h2{font-size:21px}}

/* v0.4: read-only public quest progress */
.cns-quest-state{display:inline-flex;align-items:center;justify-content:center;flex:0 0 25px;width:25px;height:25px;border:1px solid #c7b38d;border-radius:50%;color:#8b8c8c;background:#faf8f2;font-weight:bold}.cns-quest-item.is-done .cns-quest-state{background:#377b76;color:white;border-color:#377b76}

/* v0.5: distinct learning-quest entry below the unmodified hero image */
.cns-learning-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:25px 38px;background:#fffaf0;border-bottom:2px solid #d3bd96}
.cns-learning-entry h2{font:700 23px Georgia,'Yu Mincho',serif;margin:4px 0 6px;color:#254259}
.cns-learning-entry p{font-size:13px;margin:0;color:#536b79}
.cns-learning-kicker{font:700 11px Georgia,serif;letter-spacing:.14em;color:#a37c45}
.cns-learning-entry-progress{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}
.cns-learning-entry-progress strong{font:700 26px Georgia,serif;color:#31586e;white-space:nowrap}
.cns-learning-entry-progress small{font-size:12px;font-weight:400}
@media(max-width:750px){.cns-learning-entry{flex-direction:column;align-items:stretch;padding:22px 18px}.cns-learning-entry-progress{justify-content:flex-start}}

/* v0.7: dynamically overlay completion marks without changing approved artwork */
.cns-hero-check{position:absolute;z-index:2;left:73.55%;width:2.2%;height:1.7%;display:flex;align-items:center;justify-content:center;color:#226d58;font-weight:900;font-size:clamp(9px,1.5vw,20px);line-height:1;pointer-events:none;text-shadow:0 0 3px #fffaf0,0 0 4px #fffaf0}
.cns-hero-check-english{top:63.25%}.cns-hero-check-research{top:65.5%}.cns-hero-check-admission{top:67.75%}

/* v0.8: align completion ticks to the printed checkbox artwork, keep the search hotspot invisible on hover. */
.cns-hero-check{left:70.35%;width:2%;height:1.7%;font-size:clamp(9px,1.4vw,18px)}
.cns-hero-check-english{top:62.55%}
.cns-hero-check-research{top:64.80%}
.cns-hero-check-admission{top:67.05%}
.hot.cns-search-hot:hover{outline:none;background:transparent}
.hot.cns-search-hot:focus-visible{outline:2px solid #c8a66b;outline-offset:1px;background:transparent}

/* v0.9: hand-drawn, bold quest completion ticks (image unchanged). */
.cns-hero-check svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 1px 0 rgba(255,255,255,.7))}
.cns-hero-check svg path{fill:none;stroke:#1d745b;stroke-width:3.9;stroke-linecap:round;stroke-linejoin:round}

/* v1.0: RPG experience and monthly quests, rendered as live HTML */
.cns-rpg-status{background:linear-gradient(145deg,#1d3047,#284b65);color:#f7edd7;border:3px double #d5b879;border-radius:14px;padding:22px;margin-bottom:16px;box-shadow:inset 0 0 0 2px #ffffff20}
.cns-rpg-kicker{font:700 11px Georgia,serif;letter-spacing:.18em;color:#ddc184}.cns-rpg-status h3{color:#fff4d5;margin:9px 0!important;font-size:24px}.cns-rpg-status h3 span{color:#ffda75;white-space:nowrap}.cns-rpg-exp-label{font-size:13px;text-align:right;color:#f2dfb7}.cns-rpg-track{height:14px;background:#536678;border:1px solid #b5d7e7;border-radius:20px;overflow:hidden;margin:9px 0 19px}.cns-rpg-track i{display:block;height:100%;background:linear-gradient(90deg,#5aafe5,#81d6df);border-radius:20px}.cns-rpg-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cns-rpg-skills>div{display:flex;justify-content:space-between;gap:8px;background:#ffffff12;padding:9px 12px;border-radius:7px}.cns-rpg-skills strong{color:#ffe2a1}.cns-monthly-list{display:grid;gap:12px}.cns-monthly-row{border:1px solid #dfcfb2;background:white;border-radius:11px;padding:15px}.cns-monthly-row>div:first-child{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.cns-monthly-row .cns-rpg-track{margin:9px 0}.cns-monthly-row small{color:#597080}@media(max-width:600px){.cns-rpg-skills{grid-template-columns:1fr}}
