:root{--background:#f4f1e8;--surface:#fffdf8;--ink:#1b2430;--muted:#687282;--line:#ddd7ca;--red:#e94d45;--yellow:#f4c83d;--green:#147a63;--blue:#2e5d8f}*{box-sizing:border-box}body{color:var(--ink);background:var(--background);margin:0;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}button,input,select,textarea{font:inherit}.shell{width:min(1120px,100% - 32px);margin:0 auto;padding:36px 0 54px}.top{color:#fff;background-color:#0000;background-image:linear-gradient(135deg,#1b2430f0,#1b2430b8),url(https://images.unsplash.com/photo-1538805060514-97d9cc17730c?auto=format&fit=crop&w=1600&q=80);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;grid-template-columns:minmax(0,1fr) 260px;align-items:stretch;gap:28px;padding:42px;display:grid}.eyebrow{color:var(--yellow);margin:0 0 12px;font-size:.82rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{margin-bottom:16px;font-size:clamp(3rem,8vw,6.8rem);line-height:.92}.lead{max-width:720px;margin-bottom:0;font-size:1.18rem;font-weight:700;line-height:1.85}.dataNotice{color:#ffffffc2;margin:16px 0 0;font-size:.9rem;font-weight:800}.adminLink{color:var(--ink);background:var(--yellow);margin-top:22px;padding:10px 14px;font-weight:900;text-decoration:none;display:inline-block}.adminLinkDark{color:#fff;background:var(--blue);align-self:start}.goalPanel{background:#fffdf81f;border:1px solid #ffffff52;align-content:center;min-height:210px;padding:24px;display:grid}.goalPanel span,.goalPanel small{color:#ffffffc7}.goalPanel strong{color:var(--yellow);margin:6px 0;font-size:4rem;line-height:1}.workbench{background:var(--surface);border:1px solid var(--line);grid-template-columns:1.6fr 1fr 1fr;gap:18px;padding:22px;display:grid}.controlGroup{gap:10px;display:grid}.controlGroup label{color:var(--muted);font-size:.9rem;font-weight:800}.segments{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.segments button,select{border:1px solid var(--line);min-height:46px;color:var(--ink);background:#fff}.segments button{cursor:pointer}.segments button.active{border-color:var(--red);color:#fff;background:var(--red);font-weight:900}select{width:100%;padding:0 12px}.results{padding-top:34px}.sectionHeader{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.sectionHeader h2{margin-bottom:0;font-size:clamp(1.7rem,4vw,3rem)}.cards{gap:14px;display:grid}.titleCard{background:var(--surface);border:1px solid var(--line);grid-template-columns:74px minmax(0,1fr) 210px;align-items:stretch;gap:18px;padding:22px;display:grid}.rank{color:#fff;background:var(--blue);place-items:center;font-size:1.45rem;font-weight:900;display:grid}.titleLine{justify-content:space-between;align-items:start;gap:16px;display:flex}.titleLine h3{margin-bottom:10px;font-size:1.45rem}.titleLine span{color:#fff;background:var(--green);flex:none;padding:4px 10px;font-weight:900}.reason{margin-bottom:10px;font-weight:800;line-height:1.7}.comment{color:var(--muted);margin-bottom:14px;line-height:1.75}.meta,.meters{flex-wrap:wrap;gap:8px;display:flex}.meta span,.meters span{border:1px solid var(--line);color:var(--muted);background:#fff;padding:5px 9px;font-size:.82rem;font-weight:800}.meters{align-content:center}.meters span{width:100%;color:var(--ink)}@media (max-width:820px){.top,.workbench,.titleCard{grid-template-columns:1fr}.top{padding:32px 22px}.goalPanel{min-height:auto}.sectionHeader{display:block}.rank{width:74px;height:54px}}@media (max-width:520px){.shell{width:min(100% - 20px,1120px);padding-top:10px}.segments{grid-template-columns:repeat(2,minmax(0,1fr))}.titleLine{display:block}.titleLine span{margin-bottom:8px;display:inline-block}}.adminShell{width:min(1180px,100% - 32px);margin:0 auto;padding:32px 0 56px}.adminHeader{background:var(--surface);border:1px solid var(--line);justify-content:space-between;align-items:start;gap:24px;margin-bottom:22px;padding:30px;display:flex}.adminHeader h1{margin-bottom:8px;font-size:clamp(2.4rem,6vw,4.8rem)}.adminHeader p{color:var(--muted);margin-bottom:0;font-weight:700}.adminGrid{grid-template-columns:320px minmax(0,1fr);gap:18px;display:grid}.titleList,.editPanel{background:var(--surface);border:1px solid var(--line)}.titleList{align-self:start;max-height:calc(100vh - 32px);padding:14px;overflow:auto}.listHeader{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.listHeader button,.actions button{border:1px solid var(--line);cursor:pointer;background:#fff;min-height:40px;font-weight:900}.actions button:disabled{cursor:wait;opacity:.58}.titleList>button{border:1px solid var(--line);width:100%;min-height:52px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;grid-template-columns:minmax(0,1fr) auto;margin-bottom:8px;padding:10px;display:grid}.titleList>button.selected{border-color:var(--red);background:#fff4f2}.titleList span{text-overflow:ellipsis;white-space:nowrap;font-weight:900;overflow:hidden}.titleList small{color:var(--muted);font-weight:900}.editPanel{gap:18px;padding:22px;display:grid}.formRow{gap:14px;display:grid}.formRow.two{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.formRow.five{grid-template-columns:repeat(5,minmax(0,1fr))}.editPanel label,fieldset{color:var(--muted);gap:8px;font-size:.88rem;font-weight:900;display:grid}fieldset{border:1px solid var(--line);margin:0;padding:14px}legend{padding:0 6px}input,textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fff}input,textarea,.editPanel select{padding:9px 11px}textarea{resize:vertical;min-height:94px;line-height:1.7}.checkGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.checkGrid label{min-height:38px;color:var(--ink);border:1px solid var(--line);background:#fff;align-items:center;gap:8px;padding:8px;display:flex}.checkGrid input{width:16px;min-height:16px}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.actions button{padding:0 14px}.actions .primary{color:#fff;background:var(--red);border-color:var(--red)}.actions span{color:var(--muted);font-size:.9rem;font-weight:800}@media (max-width:900px){.adminHeader,.adminGrid,.formRow.two,.formRow.five{grid-template-columns:1fr}.adminHeader{display:grid}.titleList{max-height:none}.checkGrid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.adminShell{width:min(100% - 20px,1180px);padding-top:10px}.adminHeader,.editPanel{padding:18px}.checkGrid{grid-template-columns:1fr}}
