/* メインサイト共通：⑤の明るいステージに合わせた配色 */
.site-light{color-scheme:light;--bg:#faf7ef;--bg-2:#fffdf8;--panel:#fffdf8;--panel-2:#f0ebdf;--line:#ded5c5;--ink:#302f2a;--ink-dim:#68645c;--gold:#855327;--gold-soft:#855327;--ok:#28694f;--ng:#b63b42;background:#faf7ef;color:var(--ink);}
.site-light::before{display:none;}
.site-light .site-head{background:#faf7eff2;border-color:#ded5c5;padding-top:14px;padding-bottom:14px;}
.site-light .brand b{color:#514532;}
.site-light .nav a{min-height:40px;display:inline-flex;align-items:center;}
.site-light .head-right{font-size:.7rem;}.site-light .head-right .btn{font-size:.68rem;min-height:34px;}
.site-light .nav a[aria-current=page]{background:#f1e5ce;border-color:#c6ad83;}
.site-light :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #8b6731;outline-offset:4px;}
.site-light .btn{min-height:44px;border-color:#d9cdb8;background:#fffdf8;color:#65543b;}
.site-light .btn:hover{background:#f6ecd7;border-color:#ba965d;box-shadow:0 3px 10px #9e83581a;}
.site-light .btn-gold{background:#f4c56c;color:#37280f;border-color:#d7a447;font-weight:700;box-shadow:0 3px 0 #dfb260;}
.site-light .btn-gold:hover{background:#f9d48e;color:#37280f;}
.site-light .btn-ghost{background:transparent;}
.site-light:not(.home-stage) .hero{position:relative;isolation:isolate;overflow:hidden;padding:56px 24px 46px;background:radial-gradient(ellipse at 90% 0,#e3eff7,transparent 66%),linear-gradient(125deg,#f8efd9,#faf7ef 58%);border-bottom:1px solid #e7dfcf;}
.site-light:not(.home-stage) .hero::after{content:"";position:absolute;right:24px;bottom:-20px;width:330px;height:250px;z-index:-1;background:url('hero/home-stage-light.png') center/contain no-repeat;opacity:.35;mask-image:linear-gradient(90deg,transparent,#000 40%);}
.site-light.practice-page .hero{background:radial-gradient(ellipse at 90% 0,#e3eee3,transparent 66%),linear-gradient(125deg,#f8efd9,#faf7ef 58%);}
.site-light .hero h1{font-family:var(--sans);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;letter-spacing:.015em;text-shadow:none;line-height:1.45;}
.site-light .hero .sub{font-size:.65rem;font-weight:700;letter-spacing:.22em;margin-bottom:16px;}
.site-light .hero p{font-size:.88rem;margin-top:16px;}.site-light .hero .rule{height:22px;margin-top:22px;}
.site-light .sec-title,.site-light .level-head h2,.site-light .set-head h3{font-family:var(--sans);font-weight:700;letter-spacing:.025em;}
.site-light .sec-title{font-size:1.3rem;}.site-light .sec-note{line-height:1.95;}
.site-light .card{background:#fffdf8;border:1px solid #e1d8c7;border-radius:20px;box-shadow:0 4px 16px #a08b6310;}
.site-light .card:hover{border-color:#bd9a62;box-shadow:0 12px 25px #967e4c20;}
.site-light .card h3{font-family:var(--sans);font-weight:700;}
.site-light .card .state{background:#faf5e7;color:#766349;border:1px solid #e0d3b7;}
.site-light .card.cleared{border-color:#9cbea3;}.site-light .card.cleared .state{background:#edf7ed;color:#28694f;border-color:#b2d0b7;}
.site-light .tag{border-color:#d8cbb1;background:#fffdf8;color:#716148;}
.site-light #courses{gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));}
.site-light .course-card{padding:26px;position:relative;overflow:hidden;}
.site-light .course-card:nth-child(1){background:linear-gradient(145deg,#fffdf8,#faf0d9);}
.site-light .course-card:nth-child(2){background:linear-gradient(145deg,#fffdf8,#eaf3e9);}
.site-light .course-card:nth-child(3){background:linear-gradient(145deg,#fffdf8,#e7f0fa);}
.site-light .course-card .no{font-family:var(--sans);font-weight:600;font-size:.63rem;letter-spacing:.12em;}
.site-light .course-card h3{font-size:1.25rem;margin:14px 0;}
.site-light .course-card .time{font-family:ui-monospace,monospace;font-weight:600;letter-spacing:-.04em;}
.site-light .course-card .time small{font-family:var(--sans);font-size:.8rem;letter-spacing:0;}
.site-light .course-card .best{font-size:.73rem;line-height:1.7;margin-top:16px;}
.course-start{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d4c7ad;padding-top:14px;margin-top:20px;color:#785225;font-size:.85rem;font-weight:700;}
.course-start>span{font-size:1.25rem;}
.site-light .record-notice{background:#f0f4f5;border-color:#d9e2e4;color:#5a6568;font-size:.78rem;}
.site-light .record-notice strong{color:#3d575c;}
.site-light .rank-tab{min-height:42px;background:#fffdf8;border-color:#ded5c5;color:#6a655d;}
.site-light .rank-tab.on{background:#f3e6c9;color:#795022;border-color:#bf9b5c;font-weight:700;}
.site-light .rank-wrap{background:#fffdf8;border-color:#dfd6c4;box-shadow:0 5px 20px #a08b6310;}
.site-light .rank-table{min-width:470px;}.site-light .rank-table th{background:#f3edde;color:#74644b;}.site-light .rank-table td{border-bottom-color:#e8e0d1;}.site-light .rank-table tr.me{background:#faf0d3;}.site-light .my-rank{background:#fcf0d3;border-color:#dac087;color:#765324;}
.site-light .level-chip{background:#fffdf8;border-color:#ded5c5;min-height:46px;box-shadow:0 2px 10px #a08b6310;}
.site-light .level-chip b{font-family:var(--sans);}.site-light .level-chip:hover{background:#f6ecd7;}.site-light .level-chip.done{background:#edf5ec;}
.site-light .level-sec{scroll-margin-top:110px;margin-bottom:60px;}.site-light .set-head{border-color:#dbd0bb;margin-top:24px;margin-bottom:16px;}
.site-light .puzzle-card{padding:16px;}.site-light .puzzle-card .thumb{border:1px solid #ece7dc;border-radius:12px;}
.site-light .puzzle-card .thumb-hidden{background:radial-gradient(circle at 50% 20%,#e4d6ec,transparent 65%),#f4edf7;border-color:#dfd2e6;}
.site-light .thumb-hidden .hidden-mark{color:#806193;}.site-light .thumb-hidden .hidden-label{color:#74627f;}
.site-light .puzzle-card .thumb-video{background:linear-gradient(145deg,#f1ead9,#e6edf3);}
.site-light .to-top{background:#fffdf8;color:#855327;border-color:#cfbea0;box-shadow:0 4px 16px #a08b6320;}.site-light .to-top:hover{background:#f6ecd7;}
.site-light .ta-bar{background:#fffdf8;border-color:#ded5c5;border-radius:18px;box-shadow:0 4px 18px #a08b6314;}
.site-light .timer{font-family:ui-monospace,monospace;background:#f7edda;border-radius:12px;padding:12px 16px;font-size:1.9rem;font-weight:600;color:#855327;}.site-light .timer.warn{background:#fce9e6;color:#b63b42;}
.site-light.ta-playing .hero,.site-light.ta-results .hero{display:none;}
.site-light .ta-stage{padding-top:28px;}
.site-light .quest{background:white;border:1px solid #e3dac9;border-radius:18px;box-shadow:0 5px 24px #9e835812;padding:16px;}
.site-light .quest img,.site-light .quest video{max-height:clamp(220px,calc(100dvh - 370px),640px);}
.site-light .hint{background:#f0f5fa;border-color:#d5e0ed;color:#4c6477;}.site-light .hint b{color:#426789;}
.site-light .answer-row input,.site-light .rank-form input{background:#fff;border:1px solid #cfc2a9;color:#302f2a;min-height:48px;}
.site-light input::placeholder,.site-light textarea::placeholder{color:#8a8172;}
.site-light .answer-row input:focus,.site-light .rank-form input:focus{border-color:#a4834c;box-shadow:0 0 0 3px #cfb27330;}
.site-light .explain{background:#eff7ec;border-color:#bbd3b5;color:#3d5743;}
.site-light .ta-result,.site-light .cert{background:#fffdf8;border-color:#dfd4bd;border-radius:24px;box-shadow:0 7px 30px #a08b6318;}
.site-light .ta-result.clear,.site-light .cert{background:radial-gradient(ellipse at 10% 0,#f9edc9,transparent 65%),#fffdf8;border-color:#d2b477;}
.site-light .ta-result h2,.site-light .cert h2{font-family:var(--sans);font-weight:800;letter-spacing:.025em;}
.site-light .ta-result .score{font-family:ui-monospace,monospace;color:#855327;font-weight:700;}
.site-light .ta-solution{background:#fff;border-color:#e2d8c5;border-radius:14px;}.site-light .ta-solution summary{min-height:36px;align-content:center;}
.site-light .ta-solution img{max-height:760px;object-fit:contain;}
.site-light .rank-msg.ok,.site-light .verdict.ok{color:#28694f;}.site-light .rank-msg.ng,.site-light .verdict.ng{color:#b63b42;}
.site-light .fb{background:#f4f0e7;border-color:#ded5c5;}.site-light .fb-score button{background:#fffdf8;color:#716450;border-color:#d8ccb5;}.site-light .fb-score button.on{background:#ecd09a;color:#52370e;}.site-light .fb textarea{background:#fff;color:#302f2a;}
.site-light dialog{background:#fffdf8;border-color:#ded5c5;box-shadow:0 24px 80px #55452440;}.site-light dialog::backdrop{background:#564c3e55;}
.site-light .insight-controls select{background:#fffdf8;color:#302f2a;border-color:#cfbea0;}
.site-light .coming-soon{position:relative;background:radial-gradient(ellipse at 90% 0,#e3eff7,transparent 65%),#fffdf8;border-radius:28px;padding:48px 30px;max-width:740px;margin:56px auto;}
.soon-emblem{display:grid;place-items:center;width:80px;height:80px;margin:0 auto 24px;border-radius:24px;background:#f2e6cd;color:#987235;font-size:2.5rem;}
.site-light .coming-soon h1{font-size:clamp(1.5rem,4vw,2.2rem);letter-spacing:.02em;}.site-light .coming-soon .tag{display:inline-block;padding:3px 14px;font-size:.67rem;letter-spacing:.16em;}
.site-light footer{border-color:#ded5c5;color:#726956;}.site-light footer a{color:#785225;}.site-light #rankTabs{scroll-margin-top:120px;}
@media(max-width:1050px){.site-light .site-head{gap:6px 14px;}.site-light .head-right{margin-left:auto;}.site-light .head-right .bar{width:60px;}}
@media(max-width:700px){.site-light .site-head{position:relative;padding:14px 18px 10px;}.site-light .brand{width:100%;}.site-light .brand span{display:none;}.site-light .nav{width:100%;gap:0;justify-content:space-between;}.site-light .nav a{font-size:.68rem;padding:5px;min-height:36px;}.site-light .head-right{width:100%;justify-content:flex-end;padding-top:4px;}.site-light:not(.home-stage) .hero{padding:34px 22px 28px;}.site-light:not(.home-stage) .hero::after{display:none;}.site-light .hero h1{font-size:1.9rem;}.site-light .hero p{font-size:.8rem;}.site-light .hero .rule{display:none;}.site-light #courses{grid-template-columns:1fr;gap:16px;}.site-light .course-card{padding:24px;}.site-light .course-card .time{font-size:2rem;}.site-light .record-notice{padding:16px;font-size:.74rem;}.site-light .ta-bar{padding:14px;gap:12px;}.site-light .timer{font-size:1.55rem;padding:10px 12px;}.site-light .ta-bar .btn{padding:7px 12px;font-size:.73rem;}.site-light .answer-row{gap:10px;}.site-light .answer-row input{flex-basis:160px;font-size:16px;}.site-light .quest{padding:8px;}.site-light .quest img,.site-light .quest video{max-height:clamp(200px,calc(100dvh - 390px),480px);}.site-light .level-jump{gap:8px;}.site-light .level-chip{padding:7px 12px;}.site-light .level-chip b{font-size:.8rem;}.site-light .coming-soon{margin:30px auto;padding:32px 20px;}.site-light .coming-soon p{font-size:.84rem;}.site-light .coming-soon .btn{display:flex;justify-content:center;}.site-light .rank-form input{font-size:16px;}}
.site-light #courseSec,.site-light.practice-page main>section{padding-top:38px;padding-bottom:34px;}
.site-light:not(.home-stage) .hero::after{mask-image:radial-gradient(ellipse at 65% 68%,#000 20%,transparent 73%);}

.site-light.ta-playing .site-head{position:relative;}.site-light.ta-playing .ta-bar{position:sticky;top:12px;z-index:20;}
.site-light.ta-playing #taQuest img{max-height:clamp(180px,calc(100dvh - 450px),560px);}
