.shougansai-page main { width:100%; padding:0 0 76px; }
.sgs { --sgs-width:min(1300px,calc(100% - 40px)); --sgs-rule:rgba(233,223,197,.13); --sgs-serif:"Times New Roman","Noto Serif SC","Source Han Serif SC","Songti SC","STSong","SimSun",serif; }
.sgs-stage,.sgs-promos { margin-top:0; }

.sgs-stage { padding:0 calc((100% - var(--sgs-width)) / 2) 4px; background:radial-gradient(ellipse 44% 38% at 50% 24%,rgba(246,242,233,.8),rgba(246,242,233,0) 72%),linear-gradient(180deg,rgba(243,239,229,0) 38%,rgba(243,239,229,.7) 66%,var(--paper) 92%),url("shougansai/hero.webp") center top / max(100%,1320px) auto no-repeat,var(--paper); }
.sgs-hero { position:relative; display:flex; flex-direction:column; align-items:center; padding:20px 0 24px; text-align:center; }
.sgs-sample { position:absolute; top:16px; left:0; z-index:1; margin:0; padding:3px 12px; border:1px dashed rgba(168,69,47,.6); border-radius:999px; color:var(--cinnabar); background:rgba(255,249,240,.85); font-size:.74rem; font-weight:700; letter-spacing:.04em; }
.sgs-vertical { position:absolute; top:26px; right:0; margin:0; color:#25302b; font:700 1.42rem/1.35 var(--sgs-serif); letter-spacing:.3em; writing-mode:vertical-rl; }
.sgs-vertical span { display:block; }
.sgs-vertical span+span { margin-inline-start:1.5em; }
.sgs-title { position:relative; margin:0; line-height:0; }
.sgs-title img { width:min(430px,78vw); height:auto; }
.sgs-seal { position:absolute; right:3%; bottom:17%; padding:7px 4px; border-radius:6px; color:#fcefe2; background:linear-gradient(160deg,#c34c32,#912e1c); box-shadow:inset 0 0 0 2px rgba(255,234,218,.35),0 4px 10px rgba(120,40,20,.25); font:700 1rem/1.1 var(--sgs-serif); letter-spacing:.08em; transform:translateX(100%) rotate(3deg); writing-mode:vertical-rl; }
.sgs-motto { display:flex; align-items:center; gap:14px; margin:4px 0 0; color:#1f2a25; font:700 1.3rem/1.4 var(--sgs-serif); letter-spacing:.24em; }
.sgs-motto::before,.sgs-motto::after { width:58px; height:1px; content:""; background:linear-gradient(90deg,transparent,#56625c); }
.sgs-motto::after { transform:scaleX(-1); }
.sgs-tagline { margin:2px 0 0; color:var(--ink-soft); font-size:.86rem; letter-spacing:.14em; }
.sgs-countdown { width:min(460px,100%); margin-top:12px; padding:8px 24px 10px; border:1px solid rgba(214,190,134,.42); border-radius:30px; color:#f5eedc; background:radial-gradient(ellipse at 50% 0,rgba(255,255,255,.11),transparent 62%),linear-gradient(180deg,#265b48,#163d31); box-shadow:0 16px 34px rgba(19,52,41,.28),inset 0 1px 0 rgba(255,255,255,.1); }
.sgs-countdown>p { margin:0; font-size:.84rem; letter-spacing:.14em; opacity:.92; }
.sgs-clock { display:flex; align-items:center; justify-content:center; margin-top:2px; }
.sgs-clock span { display:inline-flex; align-items:baseline; justify-content:center; gap:5px; min-width:64px; }
.sgs-clock b { font:700 2.35rem/1.1 var(--sgs-serif); font-variant-numeric:tabular-nums; }
.sgs-clock small { font-size:.76rem; opacity:.85; }
.sgs-clock i { width:1px; height:30px; margin:0 12px; background:rgba(245,238,220,.28); }
.sgs-countdown.is-closed b { opacity:.45; }
.sgs-rules-link { margin-top:8px; color:#2e3a34; font-size:.84rem; font-weight:700; text-decoration:none; }
.sgs-rules-link:hover { color:var(--cinnabar); }
.sgs-submit { display:inline-flex; align-items:center; gap:12px; min-height:50px; margin-top:8px; padding:0 46px; border:1px solid #d9a866; border-radius:999px; color:#fff7e8; background:linear-gradient(180deg,#bb7f3f,#8b5323); box-shadow:0 12px 26px rgba(122,72,26,.32),inset 0 1px 0 rgba(255,232,190,.5); font:700 1.22rem/1 var(--sgs-serif); letter-spacing:.1em; text-decoration:none; transition:transform .2s,box-shadow .2s; }
.sgs-submit:hover { transform:translateY(-2px); box-shadow:0 16px 30px rgba(122,72,26,.38),inset 0 1px 0 rgba(255,232,190,.5); }

.sgs-boards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.04fr); gap:12px; }
.sgs-board,.sgs-prize { min-width:0; padding:14px 18px 10px; border-radius:10px; }
.sgs-board { color:#eef2ea; border:1px solid rgba(201,182,136,.38); background:radial-gradient(ellipse at 18% 0,rgba(255,255,255,.08),transparent 55%),linear-gradient(180deg,#22533f,#163c2f); box-shadow:0 18px 36px rgba(21,50,40,.22); }
.sgs-board header,.sgs-prize header { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:4px; }
.sgs-board h2 { min-width:0; margin:0; font:700 clamp(1.1rem,1.5vw,1.32rem)/1.3 var(--sgs-serif); letter-spacing:.02em; }
.sgs-board h2 small { margin-left:6px; white-space:nowrap; font-size:.78rem; font-weight:600; opacity:.85; }
.sgs table { width:100%; border-collapse:collapse; font-size:.9rem; }
.sgs th { padding:7px 6px; font-size:.74rem; font-weight:600; text-align:left; }
.sgs td { padding:6px; }
.sgs th:first-child,.sgs td:first-child:not(.sgs-empty) { width:38px; text-align:center; }
.sgs-board th:last-child,.sgs-board td:last-child,.sgs-prize th:last-child,.sgs-prize td:last-child { text-align:right; font-variant-numeric:tabular-nums; }
.sgs-board th { color:rgba(214,226,214,.62); border-bottom:1px solid var(--sgs-rule); }
.sgs-board td { border-bottom:1px solid rgba(233,223,197,.08); }
.sgs tr:last-child td { border-bottom:0; }
.sgs td.sgs-empty { padding:22px 6px; text-align:center; font-size:.82rem; opacity:.72; }
.sgs-rank { display:inline-grid; place-items:center; width:22px; height:22px; border-radius:50%; font-size:.72rem; font-weight:800; }
.sgs-rank.is-gold { color:#5a3908; background:radial-gradient(circle at 35% 30%,#ffe7a6,#d79d2d 72%); box-shadow:0 0 0 2px rgba(215,157,45,.3); }
.sgs-rank.is-silver { color:#343a37; background:radial-gradient(circle at 35% 30%,#fff,#a9aeab 75%); box-shadow:0 0 0 2px rgba(200,205,202,.3); }
.sgs-rank.is-bronze { color:#fff5ec; background:radial-gradient(circle at 35% 30%,#f0ae82,#b0613a 75%); box-shadow:0 0 0 2px rgba(190,110,70,.3); }
.sgs-prize { position:relative; color:#2a2419; border:1px solid #d6c096; background:radial-gradient(ellipse at 85% 100%,rgba(190,160,110,.2),transparent 55%),linear-gradient(180deg,#fbf3e3,#eddcbc); box-shadow:0 18px 36px rgba(92,70,36,.16); }
.sgs-prize header { justify-content:flex-start; padding-right:84px; white-space:nowrap; }
.sgs-prize h2 { margin:0; font:700 1.7rem/1.2 var(--sgs-serif); letter-spacing:.06em; }
.sgs-prize header p { margin:0; color:#7a6a4e; font-size:.74rem; }
.sgs-chest { position:absolute; top:-34px; right:6px; width:96px; height:auto; filter:drop-shadow(0 6px 8px rgba(80,50,20,.22)); pointer-events:none; }
.sgs-prize th { color:#7d6c50; border-bottom:1px solid #dcc9a4; }
.sgs-prize td { border-bottom:1px solid rgba(160,130,80,.16); }
.sgs-prize td:last-child { font:600 .98rem var(--sgs-serif); }
.sgs-prize-note { margin:8px 0 2px; color:#7d6c50; font:600 .78rem/1.6 var(--sgs-serif); letter-spacing:.08em; }
.sgs-boards-more { margin:10px 0 0; text-align:right; }
.sgs-boards-more a { color:var(--jade); font-size:.86rem; font-weight:700; text-decoration:none; }
.sgs-boards-more a:hover { color:var(--cinnabar); }

.sgs-steps { display:grid; grid-template-columns:minmax(210px,300px) minmax(0,1fr); align-items:center; gap:24px; width:var(--sgs-width); margin:16px auto 0; padding:22px 30px; border:1px solid #e1d7c5; border-radius:10px; background:rgba(255,253,248,.86); box-shadow:0 14px 34px rgba(43,55,47,.07); }
.sgs-steps h2 { margin:0; font:700 1.9rem/1.25 var(--sgs-serif); letter-spacing:.04em; }
.sgs-steps-intro p { margin:6px 0 0; color:var(--muted-readable); font-size:.82rem; }
.sgs-steps ol { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin:0; padding:0; list-style:none; }
.sgs-steps li { position:relative; display:flex; flex-direction:column; align-items:center; padding:0 8px; text-align:center; }
.sgs-steps li:not(:last-child)::after { position:absolute; top:9px; right:-9px; content:"→"; color:#9b917f; font-size:1.1rem; }
.sgs-step-icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:8px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#c95a3e,#962f1c); box-shadow:0 6px 14px rgba(150,47,28,.25),inset 0 0 0 2px rgba(255,230,215,.25); }
.sgs-step-icon svg { width:21px; height:21px; fill:none; stroke:#fff6ec; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sgs-steps strong { font-size:.88rem; }
.sgs-steps small { color:var(--muted-readable); font-size:.74rem; line-height:1.5; }

.sgs-lower { display:grid; grid-template-columns:minmax(0,1fr) 330px; align-items:stretch; gap:14px; width:var(--sgs-width); margin:18px auto 0; }
.sgs-promos { display:flex; flex-direction:column; }
.sgs-promos header { display:flex; align-items:baseline; gap:12px; margin-bottom:10px; }
.sgs-promos h2 { margin:0; font:700 1.4rem/1.3 var(--sgs-serif); letter-spacing:.04em; }
.sgs-promos header p { margin:0; color:var(--muted-readable); font-size:.78rem; }
.sgs-promos ul { flex:1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0; padding:0; list-style:none; }
.sgs-promo { position:relative; display:block; overflow:hidden; height:100%; min-height:136px; border-radius:8px; color:#fbf6ea; background:#173c30; box-shadow:0 12px 26px rgba(24,40,33,.18); text-decoration:none; }
.sgs-promo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.sgs-promo>div { position:absolute; inset:0; display:flex; flex-direction:column; align-items:flex-start; padding:14px 16px; background:linear-gradient(90deg,rgba(9,28,22,.8),rgba(9,28,22,.35) 62%,rgba(9,28,22,0)); }
.sgs-promo h3 { margin:0; font:700 1.14rem/1.3 var(--sgs-serif); letter-spacing:.04em; text-shadow:0 1px 6px rgba(0,0,0,.4); }
.sgs-promo p { margin:6px 0 0; font-size:.78rem; opacity:.9; }
.sgs-pill { margin-top:auto; padding:4px 12px; border:1px solid rgba(251,246,234,.55); border-radius:999px; background:rgba(8,24,19,.35); font-size:.74rem; font-weight:700; }
.sgs-pills { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; }
.sgs-pills .sgs-pill { margin-top:0; }
a.sgs-pill { color:inherit; text-decoration:none; }
a.sgs-pill:hover,a.sgs-pill:focus-visible { border-color:#fbf6ea; background:rgba(8,24,19,.7); }
a.sgs-promo:hover img { transform:scale(1.05); }
.sgs-promo.is-pending .sgs-pill { border-style:dashed; opacity:.85; }
.sgs-queue { padding:12px 16px 8px; border:1px solid #e1d7c5; border-radius:10px; background:rgba(255,253,248,.92); box-shadow:0 12px 30px rgba(43,55,47,.07); }
.sgs-queue header { display:flex; align-items:baseline; gap:10px; margin-bottom:4px; }
.sgs-queue h2 { margin:0; font:700 1.1rem/1.3 var(--sgs-serif); }
.sgs-queue header span { color:var(--muted-readable); font-size:.72rem; }
.sgs-queue header a { margin-left:auto; color:var(--muted-readable); font-size:.74rem; text-decoration:none; }
.sgs-queue header a:hover { color:var(--cinnabar); }
.sgs-queue table { font-size:.8rem; }
.sgs-queue th { color:var(--muted-readable); border-bottom:1px solid var(--line); font-size:.72rem; }
.sgs-queue td { padding:5px 6px; border-bottom:1px solid rgba(217,207,190,.5); white-space:nowrap; }
.sgs-queue th:first-child,.sgs-queue td:first-child:not(.sgs-empty) { width:28px; }
.sgs-status { display:inline-block; padding:1px 8px; border-radius:6px; color:#9a4f12; background:#f7dfbd; font-size:.7rem; font-weight:800; }

@media (max-width:1180px) {
  .sgs-boards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sgs-board h2 { font-size:1.32rem; }
  .sgs-lower { grid-template-columns:1fr; }
  .sgs-promo { height:auto; min-height:0; aspect-ratio:17/10; }
  .sgs-sample { position:static; margin-bottom:10px; }
  .sgs-steps { grid-template-columns:1fr; gap:16px; }
}
@media (max-width:900px) {
  .sgs-vertical { display:none; }
  .sgs-promos ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .sgs { --sgs-width:calc(100% - 24px); }
  .sgs-stage { background-size:auto,auto,auto 620px,auto; background-position:center,center,42% top,center; }
  .sgs-hero { padding-top:18px; }
  .sgs-title img { width:min(360px,80vw); }
  .sgs-seal { padding:5px 3px; font-size:.8rem; }
  .sgs-motto { gap:10px; font-size:1.08rem; letter-spacing:.14em; }
  .sgs-motto::before,.sgs-motto::after { width:30px; }
  .sgs-countdown { padding:10px 12px 12px; }
  .sgs-clock span { min-width:0; }
  .sgs-clock b { font-size:1.9rem; }
  .sgs-clock i { height:24px; margin:0 9px; }
  .sgs-submit { padding:0 32px; font-size:1.08rem; }
  .sgs-boards { grid-template-columns:1fr; }
  .sgs-board,.sgs-prize { padding:12px 14px 8px; }
  .sgs-steps { padding:18px; }
  .sgs-steps ol { grid-template-columns:1fr; gap:12px; }
  .sgs-steps li { display:grid; grid-template-columns:42px 1fr; column-gap:12px; align-items:center; padding:0; text-align:left; }
  .sgs-steps li:not(:last-child)::after { display:none; }
  .sgs-step-icon { grid-row:1 / span 2; margin:0; }
  .sgs-steps li>strong,.sgs-steps li>small { grid-column:2; }
  .sgs-promos header { flex-direction:column; gap:2px; }
  .sgs-promos ul { grid-template-columns:1fr; }
  .sgs-queue { padding:12px 10px 6px; }
}
@media (prefers-reduced-motion:reduce) {
  .sgs-submit,.sgs-promo img { transition:none; }
}

.sgr { --sgr-width:min(1120px,calc(100% - 40px)); }
.sgr-stage { margin-top:0; padding:22px calc((100% - var(--sgr-width)) / 2) 0; background:radial-gradient(ellipse 420px 200px at 50% 130px,rgba(246,242,233,.85),rgba(246,242,233,0) 72%),linear-gradient(180deg,rgba(243,239,229,.1) 0,rgba(243,239,229,.3) 220px,rgba(243,239,229,.85) 440px,var(--paper) 640px),url("shougansai/hero.webp") center top / max(100%,1320px) auto no-repeat,var(--paper); }
.sgr .crumb { width:fit-content; margin:0 0 4px; padding:3px 12px; border-radius:999px; background:rgba(255,253,248,.85); }
.sgr-head { display:flex; flex-direction:column; align-items:center; padding:0 0 26px; text-align:center; }
.sgr-mark { width:min(300px,64vw); height:auto; }
.sgr-head h1 { margin:6px 0 0; padding-left:.2em; font:700 clamp(1.9rem,4vw,2.6rem)/1.2 var(--sgs-serif); letter-spacing:.2em; }
.sgr-meta { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:12px 0 0; }
.sgr-meta>span { padding:4px 12px; border:1px solid rgba(24,63,53,.25); border-radius:999px; color:var(--jade); background:rgba(255,253,248,.85); font-size:.8rem; font-weight:700; }
.sgr-nowrap { white-space:nowrap; }
.sgr-meta>.sgr-home { padding:4px 14px; border-radius:999px; color:#f5eedc; background:linear-gradient(180deg,#265b48,#163d31); box-shadow:0 6px 14px rgba(19,52,41,.18); font-size:.8rem; font-weight:700; text-decoration:none; }
.sgr-meta>.sgr-home:hover { background:var(--jade); }
.sgr-layout { display:grid; grid-template-columns:210px minmax(0,1fr); align-items:start; gap:22px; }
.sgr-toc { position:sticky; top:96px; padding:16px 12px 12px; border:1px solid #e1d7c5; border-radius:10px; background:rgba(255,253,248,.92); box-shadow:0 12px 30px rgba(43,55,47,.07); }
.sgr-toc p { margin:0 0 6px 8px; color:var(--muted-readable); font-size:.74rem; font-weight:800; letter-spacing:.2em; }
.sgr-toc ol { margin:0; padding:0; list-style:none; }
.sgr-toc a { display:block; padding:5px 8px; border-radius:6px; color:var(--ink-soft); font-size:.84rem; line-height:1.45; text-decoration:none; }
.sgr-toc a:hover { color:var(--cinnabar); background:rgba(168,69,47,.06); }
.sgr-body { padding:clamp(22px,4vw,44px) clamp(20px,4vw,52px); border:1px solid #e1d7c5; border-radius:12px; color:var(--ink-soft); background:rgba(255,253,248,.96); box-shadow:0 18px 44px rgba(43,55,47,.09); line-height:1.85; }
.sgr-body h2 { scroll-margin-top:96px; margin:34px 0 10px; padding-top:22px; border-top:1px solid var(--line); color:var(--jade); font:700 1.32rem/1.4 var(--sgs-serif); letter-spacing:.06em; }
.sgr-body h2:first-child { margin-top:0; padding-top:0; border-top:0; }
.sgr-body ol,.sgr-body ul { margin:4px 0; padding-left:1.8em; }
.sgr-body ol { list-style-type:decimal; }
.sgr-body ol ol { list-style-type:lower-alpha; }
.sgr-body ol ol ol { list-style-type:lower-roman; }
.sgr-body ol ol ol ol { list-style-type:decimal; }
.sgr-body li { margin:3px 0; padding-left:.2em; }
.sgr-body li::marker { color:var(--cinnabar); font-weight:700; }
.sgr-body ul>li::marker { color:var(--gold); }
.sgr-body strong { color:var(--ink); }
.sgr-body .sgr-alert { padding:0 3px; border-radius:3px; color:#8a3320; background:#fbe9e2; }
.sgr-body h2.sgr-quick-title+ol { margin:10px 0 0; padding:14px 18px 14px 2.6em; border:1px solid #cfdcd2; border-radius:10px; background:#eef3ee; font-size:.95rem; }
.sgr-body h2.sgr-quick-title+ol>li { margin:5px 0; }
.sgr-body h2.sgr-quick-title+ol>li::marker { color:var(--jade); font-weight:700; }
.sgr-shots { display:grid; gap:16px; margin:12px 0 4px; }
.sgr-shots figure { min-width:0; margin:0; }
.sgr-shots img { display:block; width:100%; height:auto; border:1px solid #e1d7c5; border-radius:8px; }
.sgr-shots figcaption { margin-top:6px; color:var(--muted-readable); font-size:.8rem; font-weight:700; }
.sgr-body p { margin:6px 0; }
.sgr-body a { color:var(--jade); text-decoration:underline dotted; text-underline-offset:3px; }
.sgr-body a:hover { color:var(--cinnabar); }
.sgr-formula { display:table; margin:4px 0 2px; padding:4px 14px; border:1px solid #cfdcd2; border-radius:8px; color:var(--jade); background:#eef3ee; font:600 1rem/1.7 var(--sgs-serif); }
.sgr-pending { display:inline-block; padding:0 8px; border:1px dashed #c7ae86; border-radius:6px; color:#8a6b3a; background:#fbf3e3; font-size:.8rem; font-weight:700; line-height:1.6; }
.sgr-body del { color:#7b5a50; background:#f3d6cc; text-decoration:line-through; text-decoration-color:var(--cinnabar); }
.sgr-body ins { color:#1d6b86; font-weight:600; text-decoration:none; }
.sgr-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:18px; padding:30px 0 0; }
.sgr-actions .sgs-submit { margin:0; }
.sgr-back { color:var(--ink-soft); font-size:.9rem; font-weight:700; text-decoration:none; }
.sgr-back:hover { color:var(--cinnabar); }
@media (max-width:900px) {
  .sgr-layout { grid-template-columns:1fr; }
  .sgr-toc { position:static; }
  .sgr-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 8px; }
}
@media (max-width:640px) {
  .sgr { --sgr-width:calc(100% - 24px); }
  .sgr-toc ol { grid-template-columns:1fr; }
  .sgr-body ol,.sgr-body ul { padding-left:1.4em; }
}

.sgu-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; align-items:start; gap:22px; max-width:1040px; margin:0 auto; }
.sgu-card { padding:clamp(20px,4vw,36px); border:1px solid #e1d7c5; border-radius:12px; background:rgba(255,253,248,.96); box-shadow:0 18px 44px rgba(43,55,47,.09); }
.sgu-step { margin-top:0; }
.sgu-step+.sgu-step { margin-top:26px; padding-top:24px; border-top:1px solid var(--line); }
.sgu-step h2 { display:flex; align-items:center; gap:10px; margin:0 0 14px; color:var(--jade); font:700 1.2rem/1.4 var(--sgs-serif); }
.sgu-step h2 span { display:grid; flex:0 0 auto; place-items:center; width:26px; height:26px; border-radius:50%; color:#fff6ec; background:radial-gradient(circle at 35% 30%,#c95a3e,#962f1c); font:700 .85rem/1 system-ui,sans-serif; }
.sgu-inline { display:flex; gap:10px; }
.sgu input[type=text] { width:100%; min-width:0; min-height:46px; padding:0 14px; border:1px solid #cdbfa8; border-radius:10px; color:var(--ink); background:#fff; font:inherit; font-size:.95rem; }
.sgu input[type=text]:focus { border-color:var(--jade); outline:none; box-shadow:0 0 0 3px rgba(24,63,53,.14); }
.sgu-button,.sgu-button-ghost { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; min-height:46px; padding:0 20px; border-radius:10px; font:700 .92rem/1 system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif; text-decoration:none; cursor:pointer; }
.sgu-button { border:0; color:#f5eedc; background:linear-gradient(180deg,#265b48,#163d31); box-shadow:0 8px 18px rgba(19,52,41,.18); }
.sgu-button:disabled { cursor:progress; opacity:.6; }
.sgu-button-ghost { border:1px solid #b8a98f; color:var(--jade); background:transparent; }
.sgu-hint { margin:8px 0 0; color:var(--muted-readable); font-size:.8rem; line-height:1.6; }
.sgu-time-preview { margin:8px 0 0; color:var(--jade); font-size:.88rem; font-weight:800; font-variant-numeric:tabular-nums; }
.sgu-time-preview.is-error { color:#8a3320; }
.sgu-error { margin:12px 0 0; padding:9px 12px; border-left:3px solid var(--cinnabar); border-radius:0 8px 8px 0; color:#8a3320; background:#fbe9e2; font-size:.86rem; }
.sgu-warn { margin:12px 0 0; padding:9px 12px; border-radius:8px; color:#7a5313; background:#fbefd4; font-size:.84rem; line-height:1.6; }
.sgu-video { padding:16px 18px; border:1px solid #d3e0d6; border-radius:10px; background:#f1f6f2; }
.sgu-video-label { margin:0; color:var(--muted-readable); font-size:.74rem; font-weight:800; letter-spacing:.12em; }
.sgu-video>a { display:block; margin:4px 0 12px; color:var(--ink); font:700 1.1rem/1.5 var(--sgs-serif); text-decoration:none; }
.sgu-video>a:hover { color:var(--cinnabar); }
.sgu-video dl { display:grid; grid-template-columns:1.2fr 1.2fr .8fr; gap:10px; margin:0; }
.sgu-video dt { color:var(--muted-readable); font-size:.74rem; }
.sgu-video dd { margin:2px 0 0; color:var(--ink); font-size:.9rem; font-variant-numeric:tabular-nums; }
.sgu-video dd strong { color:var(--jade); font-size:1.05rem; }
.sgu-video dd span { color:var(--muted-readable); font-size:.74rem; white-space:nowrap; }
.sgu-confirm { display:flex; align-items:flex-start; gap:10px; margin:16px 0 0; padding:12px 14px; border:1px solid #e3cfa8; border-radius:10px; background:#fdf6e8; font-size:.9rem; line-height:1.6; cursor:pointer; }
.sgu-confirm input { flex:0 0 auto; width:18px; height:18px; margin:3px 0 0; accent-color:var(--jade); }
.sgu-confirm b { color:var(--jade); }
.sgu-field { min-width:0; margin:18px 0 0; padding:0; border:0; }
.sgu-field>label,.sgu-field>legend { display:block; margin:0 0 8px; padding:0; color:var(--ink); font-size:.9rem; font-weight:800; }
.sgu-tracks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.sgu-track { position:relative; cursor:pointer; }
.sgu-track input { position:absolute; opacity:0; pointer-events:none; }
.sgu-track span { display:flex; flex-direction:column; justify-content:center; height:100%; min-height:64px; padding:10px 14px; border:1px solid #cdbfa8; border-radius:10px; background:#fff; font:700 .98rem/1.35 var(--sgs-serif); transition:border-color .15s,background .15s; }
.sgu-track small { color:var(--muted-readable); font:600 .72rem/1.4 system-ui,sans-serif; }
.sgu-track:hover span { border-color:var(--jade); }
.sgu-track input:checked+span { border-color:var(--jade); color:#f5eedc; background:linear-gradient(180deg,#265b48,#163d31); box-shadow:0 8px 18px rgba(19,52,41,.2); }
.sgu-track input:checked+span small { color:rgba(245,238,220,.78); }
.sgu-track input:focus-visible+span { outline:3px solid var(--gold); outline-offset:2px; }
.sgu input#sgu-time { max-width:220px; font-variant-numeric:tabular-nums; letter-spacing:.08em; }
.sgu-card .sgs-submit { margin-top:22px; border-style:solid; cursor:pointer; }
.sgu-card .sgs-submit:disabled { cursor:not-allowed; opacity:.55; transform:none; }
.sgu-aside { position:sticky; top:96px; padding:18px 18px 14px; border:1px solid #e1d7c5; border-radius:12px; background:rgba(255,253,248,.92); box-shadow:0 12px 30px rgba(43,55,47,.07); }
.sgu-aside h2 { margin:0 0 8px; color:var(--jade); font:700 1.05rem/1.4 var(--sgs-serif); }
.sgu-aside ul { margin:0; padding-left:1.2em; color:var(--ink-soft); font-size:.84rem; line-height:1.75; }
.sgu-aside li::marker { color:var(--gold); }
.sgu-aside strong { color:#8a3320; }
.sgu-aside a { display:inline-block; margin-top:10px; color:var(--jade); font-size:.86rem; font-weight:700; text-decoration:none; }
.sgu-aside a:hover { color:var(--cinnabar); }
.sgr-meta>.sgu-test,.sgu-test { border:1px dashed rgba(168,69,47,.6); color:var(--cinnabar); background:rgba(255,249,240,.9); }
.sgu-dialog { width:min(440px,calc(100% - 32px)); padding:28px 26px 22px; border:1px solid #d6c096; border-radius:16px; color:var(--ink); background:linear-gradient(180deg,#fffaf0,#f3e8d2); box-shadow:0 30px 80px rgba(20,30,25,.35); text-align:center; }
.sgu-dialog::backdrop { background:rgba(18,32,27,.55); }
.sgu-dialog-mark { display:grid; place-items:center; width:54px; height:54px; margin:0 auto 10px; border-radius:50%; color:#fff; background:radial-gradient(circle at 35% 30%,#3d8a6c,#1b4a3a); font-size:1.6rem; }
.sgu-dialog h2 { margin:0; color:var(--jade); font:700 1.5rem/1.3 var(--sgs-serif); }
.sgu-dialog>p { margin:6px 0 0; color:var(--ink-soft); font-size:.88rem; }
.sgu-summary { margin:16px 0 0; padding:10px 14px; border-radius:10px; background:rgba(255,255,255,.72); text-align:left; }
.sgu-summary div { display:flex; justify-content:space-between; gap:14px; padding:6px 0; border-bottom:1px dashed #e0d3bb; font-size:.88rem; }
.sgu-summary div:last-child { border-bottom:0; }
.sgu-summary dt { flex:0 0 auto; color:var(--muted-readable); }
.sgu-summary dd { min-width:0; margin:0; overflow:hidden; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.sgu-summary a { color:var(--jade); }
.sgu-dialog>.sgu-test { display:inline-block; padding:3px 12px; border-radius:999px; font-size:.78rem; font-weight:700; }
.sgu-dialog-actions { display:flex; justify-content:center; gap:10px; margin-top:18px; }
@media (max-width:900px) {
  .sgu-layout { grid-template-columns:1fr; }
  .sgu-aside { position:static; }
}
@media (max-width:640px) {
  .sgu-inline { flex-direction:column; }
  .sgu-tracks { grid-template-columns:1fr; }
  .sgu-track span { min-height:52px; }
  .sgu-video dl { grid-template-columns:1fr 1fr; }
  .sgu-dialog-actions { flex-direction:column; }
}

.sga-page { min-height:100vh; }
.sga-top { position:sticky; top:0; z-index:5; display:flex; align-items:center; gap:14px; padding:12px max(16px,calc((100% - 1080px) / 2)); border-bottom:1px solid var(--line); background:rgba(247,244,236,.95); backdrop-filter:blur(10px); }
.sga-top strong { display:flex; align-items:center; gap:10px; font:700 1.05rem/1.3 var(--serif); }
.sga-top .brand-mark { width:32px; height:32px; font-size:1.05rem; }
.sga-top [data-logout] { min-height:38px; margin-left:auto; }
.sga-top strong,.sga-mode { white-space:nowrap; }
.sga-mode { padding:2px 10px; border:1px dashed rgba(168,69,47,.6); border-radius:999px; color:var(--cinnabar); font-size:.76rem; font-weight:700; }
.sga { width:min(1080px,calc(100% - 32px)); margin:28px auto 80px; padding:0; }
.sga-notice { padding:14px 16px; border-radius:10px; color:#7a5313; background:#fbefd4; }
.sga-login form { width:min(380px,100%); margin:60px auto 0; padding:28px; border:1px solid #e1d7c5; border-radius:14px; background:#fffdf8; box-shadow:var(--shadow); }
.sga-login h1 { margin:0; color:var(--jade); font:700 1.6rem/1.3 var(--serif); }
.sga-login p { margin:4px 0 18px; color:var(--muted-readable); font-size:.86rem; }
.sga-login label { display:block; margin-bottom:6px; font-size:.86rem; font-weight:800; }
.sga-login input { width:100%; min-height:44px; padding:0 12px; border:1px solid #cdbfa8; border-radius:10px; font:inherit; }
.sga-login input:focus,.sga-actions input:focus { border-color:var(--jade); outline:none; box-shadow:0 0 0 3px rgba(24,63,53,.14); }
.sga-login .sgu-button { width:100%; margin-top:14px; }
.sga-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.sga-tabs button { display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 16px; border:1px solid #cdbfa8; border-radius:999px; color:var(--ink-soft); background:#fffdf8; font:700 .9rem/1 system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif; cursor:pointer; }
.sga-tabs button[aria-pressed="true"] { border-color:var(--jade); color:#f5eedc; background:var(--jade); }
.sga-tabs b { min-width:22px; padding:2px 6px; border-radius:999px; background:rgba(0,0,0,.08); font-size:.78rem; text-align:center; }
.sga-tabs button[aria-pressed="true"] b { background:rgba(255,255,255,.18); }
.sga-toast { margin:0 0 12px; padding:10px 14px; border-radius:10px; color:#1d4a3a; background:#e3efe7; font-size:.88rem; font-weight:700; }
.sga-list { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.sga-item { padding:16px 18px; border:1px solid #e1d7c5; border-left:4px solid #d8a23f; border-radius:12px; background:#fffdf8; box-shadow:0 8px 22px rgba(43,55,47,.06); }
.sga-item[data-state="approved"] { border-left-color:#2f7a5b; }
.sga-item[data-state="rejected"] { border-left-color:var(--cinnabar); }
.sga-head { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.sga-head b { font:700 1.05rem/1.3 var(--serif); }
.sga-head time { margin-left:auto; color:var(--muted-readable); font-size:.8rem; }
.sga-status { padding:1px 9px; border-radius:6px; color:#9a4f12; background:#f7dfbd; font-size:.74rem; font-weight:800; }
.sga-status[data-state="approved"] { color:#1d5a42; background:#d7ecdf; }
.sga-status[data-state="rejected"] { color:#8a3320; background:#f6dcd4; }
.sga-test { padding:1px 8px; border:1px dashed rgba(168,69,47,.6); border-radius:6px; color:var(--cinnabar); font-size:.72rem; font-weight:700; }
.sga-grid { display:grid; grid-template-columns:1.1fr .9fr .8fr 1.6fr; gap:14px; margin-top:12px; }
.sga-grid>div { display:flex; flex-direction:column; gap:2px; min-width:0; }
.sga-grid small { color:var(--muted-readable); font-size:.72rem; }
.sga-grid a { color:var(--jade); font-weight:700; overflow-wrap:anywhere; }
.sga-grid strong { font-size:1rem; font-variant-numeric:tabular-nums; }
.sga-grid span { color:var(--muted-readable); font-size:.78rem; }
.sga-grid .sga-flag { align-self:flex-start; margin-top:2px; padding:1px 8px; border-radius:6px; color:#7a5313; background:#fbefd4; font-weight:700; }
.sga-origin { display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; margin:10px 0 0; color:var(--muted-readable); font-size:.8rem; }
.sga-origin small { font-size:.72rem; }
.sga-origin [data-f="ip"] { color:var(--ink); font-family:ui-monospace,Consolas,"Courier New",monospace; }
.sga-origin [data-f="device"] { cursor:help; }
.sga-origin .sga-flag { padding:1px 8px; border-radius:6px; color:#8a3320; background:#f6dcd4; font-weight:700; }
.sga-note { margin:10px 0 0; padding:8px 12px; border-radius:8px; color:var(--ink-soft); background:#f3eee4; font-size:.86rem; }
.sga-actions { display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px; margin-top:14px; padding-top:12px; border-top:1px dashed #e0d3bb; }
.sga-actions label { display:flex; flex-direction:column; gap:4px; color:var(--muted-readable); font-size:.74rem; font-weight:700; }
.sga-actions input { min-height:40px; padding:0 10px; border:1px solid #cdbfa8; border-radius:8px; color:var(--ink); background:#fff; font:inherit; font-size:.9rem; }
.sga-actions input[name="time"] { width:110px; font-variant-numeric:tabular-nums; }
.sga-reason { flex:1 1 220px; }
.sga-buttons { display:flex; flex-wrap:wrap; gap:8px; }
.sga-buttons button { min-height:40px; }
.sga-reject { display:inline-flex; align-items:center; min-height:40px; padding:0 18px; border:0; border-radius:10px; color:#fff6ec; background:linear-gradient(180deg,#b34a32,#8e2f1d); font:700 .92rem/1 system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif; cursor:pointer; }
.sga-reject:disabled { cursor:progress; opacity:.6; }
.sga-actions .sgu-error { flex-basis:100%; margin:0; }
.sga-history { margin-top:10px; color:var(--muted-readable); font-size:.8rem; }
.sga-history summary { cursor:pointer; font-weight:700; }
.sga-history ol { margin:6px 0 0; padding-left:1.4em; }
.sga-empty { padding:40px 0; color:var(--muted-readable); text-align:center; }
@media (max-width:760px) {
  .sga-grid { grid-template-columns:1fr 1fr; }
  .sga-video { grid-column:1 / -1; }
  .sga-head time { flex-basis:100%; margin-left:0; }
  .sga-top { gap:8px; }
  .sga-top strong { font-size:.95rem; }
}

.sgk-body { display:grid; grid-template-columns:minmax(0,1fr); gap:22px; }
.sgk-board { min-width:0; margin:0; padding:clamp(18px,3vw,28px); border:1px solid #e1d7c5; border-radius:12px; background:rgba(255,253,248,.96); box-shadow:0 18px 44px rgba(43,55,47,.09); scroll-margin-top:96px; }
.sgk-board>header { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 16px; margin-bottom:10px; }
.sgk-board h2 { margin:0; color:var(--jade); font:700 1.35rem/1.3 var(--sgs-serif); }
.sgk-board h2 small { margin-left:8px; color:var(--muted-readable); font-size:.8rem; font-weight:600; }
.sgk-board>header>span { color:var(--muted-readable); font-size:.82rem; }
.sgk-scroll { position:relative; overflow-x:auto; }
.sgk table { width:100%; min-width:560px; border-collapse:collapse; font-size:.92rem; }
.sgk th { padding:9px 10px; border-bottom:1px solid var(--line); color:var(--muted-readable); font-size:.76rem; font-weight:700; text-align:left; white-space:nowrap; }
.sgk td { padding:9px 10px; border-bottom:1px solid rgba(217,207,190,.55); vertical-align:middle; }
.sgk th:first-child,.sgk td:first-child:not(.sgs-empty) { width:auto; text-align:left; }
.sgk [data-pager] th:first-child,.sgk [data-pager] td:first-child:not(.sgs-empty) { width:56px; text-align:center; }
.sgk tbody tr[data-row]:hover { background:rgba(24,63,53,.04); }
.sgk-num { font-variant-numeric:tabular-nums; white-space:nowrap; }
.sgk-muted { color:var(--muted); }
.sgk td a { color:var(--jade); font-weight:700; text-decoration:none; white-space:nowrap; }
.sgk td a:hover { color:var(--cinnabar); }
.sgk-report { padding:4px 12px; border:1px solid rgba(168,69,47,.45); border-radius:999px; color:var(--cinnabar); background:transparent; font:700 .78rem/1.4 system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif; white-space:nowrap; cursor:pointer; }
.sgk-report:hover { color:#fff6ec; background:var(--cinnabar); }
.sgk-detail { color:var(--ink-soft); font-size:.86rem; }
.sgk-detail span[title] { border-bottom:1px dotted var(--gold); cursor:help; }
.sgk-prizes td strong { font:700 1.02rem var(--sgs-serif); }
.sgk-note { margin:14px 0 0; padding-top:12px; border-top:1px dashed #e0d3bb; color:var(--muted-readable); font-size:.8rem; line-height:1.7; }
.sgk-pager { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:14px; }
.sgk-pager button { min-width:38px; min-height:36px; padding:0 12px; border:1px solid #cdbfa8; border-radius:999px; color:var(--ink-soft); background:#fffdf8; font:700 .84rem/1 system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif; cursor:pointer; }
.sgk-pager button[aria-current="page"] { border-color:var(--jade); color:#f5eedc; background:var(--jade); }
.sgk-pager button:disabled { cursor:default; opacity:.45; }
.sgr-meta>.sgk-chip { padding:4px 12px; border:1px solid rgba(168,69,47,.4); border-radius:999px; color:var(--cinnabar); background:rgba(255,253,248,.88); font-size:.8rem; font-weight:700; text-decoration:none; }
.sgr-meta>.sgk-chip:hover { background:#fff; }
.sgu-dialog-actions { flex-wrap:wrap; }
.sgk-dialog { width:min(480px,calc(100% - 32px)); text-align:left; }
.sgk-dialog h2 { text-align:center; }
.sgk-target { margin:8px 0 6px; padding:8px 12px; border-radius:8px; background:rgba(255,255,255,.72); font-size:.86rem; text-align:center; }
.sgk-dialog label { display:flex; flex-direction:column; gap:6px; margin-top:12px; color:var(--ink); font-size:.86rem; font-weight:800; }
.sgk-dialog input,.sgk-dialog textarea { width:100%; padding:10px 12px; border:1px solid #cdbfa8; border-radius:10px; color:var(--ink); background:#fff; font:inherit; font-size:.92rem; font-weight:400; resize:vertical; }
.sgk-dialog input:focus,.sgk-dialog textarea:focus { border-color:var(--jade); outline:none; box-shadow:0 0 0 3px rgba(24,63,53,.14); }
.sgk-dialog [data-report-done] { text-align:center; }
.sgk-dialog [data-report-done] p { color:var(--ink-soft); }
.sga-reported { padding:1px 8px; border-radius:6px; color:#fff6ec; background:var(--cinnabar); font-size:.72rem; font-weight:800; }
.sga-alert { margin-left:2px; padding:2px 8px; border-radius:999px; color:#fff6ec; background:var(--cinnabar); font-size:.72rem; font-style:normal; }
.sga-reports { margin-top:10px; padding:10px 12px; border:1px solid #f0c9bd; border-radius:8px; background:#fdf1ec; font-size:.84rem; }
.sga-reports summary { color:#8a3320; font-weight:800; cursor:pointer; }
.sga-reports ol { margin:8px 0 0; padding-left:1.4em; }
.sga-reports li+li { margin-top:8px; }
.sga-report-head { color:var(--muted-readable); font-size:.78rem; }
.sga-reports p { margin:2px 0 0; color:var(--ink); overflow-wrap:anywhere; white-space:pre-wrap; }

.sgu-manual>.sgu-warn { margin-top:0; }
.sgu-manual-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:12px; margin-top:12px; }
.sgu-manual-grid label { display:flex; flex-direction:column; gap:6px; color:var(--ink); font-size:.9rem; font-weight:800; }
.sgs-status.is-rejected { color:#8a3320; background:#f6dcd4; }
.sgk-rejected h2 { color:#8a3320; }
.sga-manual { padding:1px 8px; border:1px solid #e6c98f; border-radius:6px; color:#7a5313; background:#fbefd4; font-size:.72rem; font-weight:800; }
.sga-reported.is-done { color:var(--muted-readable); background:#ece6da; }
.sga-reports li.is-handled { opacity:.62; }
.sga-handle { margin-top:4px; padding:2px 10px; border:1px solid #cdbfa8; border-radius:999px; color:var(--ink-soft); background:#fff; font:700 .74rem/1.4 system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif; cursor:pointer; }
.sga-handle:hover { border-color:var(--jade); color:var(--jade); }
.sga-actions input[name="owner_mid"] { width:130px; font-variant-numeric:tabular-nums; }
@media (max-width:640px) {
  .sgu-manual-grid { grid-template-columns:1fr; }
}
.sga-delete { display:inline-flex; align-items:center; min-height:40px; padding:0 16px; border:1px solid rgba(168,69,47,.5); border-radius:10px; color:var(--cinnabar); background:transparent; font:700 .92rem/1 system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif; cursor:pointer; }
.sga-delete:hover { color:#fff6ec; background:var(--cinnabar); }
.sga-delete:disabled { cursor:progress; opacity:.6; }
