:root{--vote-text:#1A1A1A;--vote-secondary:#45494F;--vote-surface:#fff;--vote-border:#767676;--vote-hairline:#E4E7EC;--vote-accent:#F8F0B5;--vote-error:#A5261B}
body.aspi-app{font-family:'Noto Sans JP',sans-serif;background:var(--vote-surface);color:var(--vote-text)}
.award-app{max-width:1160px;margin:auto;padding:24px 32px 48px}.award-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--vote-text);padding-bottom:16px}.award-brand{font-weight:700}.award-header a{color:var(--vote-secondary)}
.award-title{margin:32px 0 8px;font-size:28px;line-height:1.4}.award-meta{color:var(--vote-secondary);margin:8px 0 24px}.preview-note{padding:12px 0;border-bottom:1px solid var(--vote-border);font-weight:500}.award-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;margin-top:24px}.award-section-title{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--vote-text);padding:0 0 12px;margin:0 0 16px;font-size:18px}.award-section-title span{font-size:14px;font-weight:400}.candidate-list,.ranking-list{list-style:none;margin:16px 0 0;padding:0}.candidate-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--vote-hairline);min-height:64px}.candidate-row strong,.rank-name strong{display:block}.candidate-row small,.rank-name small{font-size:12px;color:var(--vote-secondary)}.rank-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;border-bottom:1px solid var(--vote-hairline);min-height:64px}.rank-number{font-family:'Josefin Sans',sans-serif;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.rank-actions{display:flex;gap:0}.rank-actions button{padding:8px;min-width:38px;min-height:38px}.award-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:32px;padding-top:24px;border-top:1px solid var(--vote-border)}.award-footer p{margin:0;color:var(--vote-secondary)}.award-empty{padding:24px 0;color:var(--vote-secondary)}.award-error{color:var(--vote-error);margin:16px 0;font-weight:500}.award-confirm{max-width:760px}.confirm-section{margin:24px 0}.confirm-list{padding-left:28px;columns:2;column-gap:40px}.confirm-list li{padding:8px 0;break-inside:avoid}.confirm-list small{display:block;color:var(--vote-secondary)}.award-app button:focus-visible,.award-app a:focus-visible{outline:2px solid var(--vote-text);outline-offset:3px}.award-app .aspi-select-trigger{min-height:38px}.award-complete{padding:48px 0;max-width:600px}.award-complete h2{font-size:24px}.award-app .aspi-btn:disabled{color:var(--vote-secondary);opacity:.65}
@media(max-width:719px){.award-app{padding:16px 16px 40px}.award-title{font-size:24px;margin-top:24px}.award-grid{grid-template-columns:1fr;gap:32px}.award-footer{align-items:flex-start;flex-direction:column;gap:16px}.award-footer .aspi-btn{width:100%}.award-header{font-size:12px}.rank-actions button,.candidate-row button{min-height:44px;min-width:44px}.rank-actions button{padding:8px}.award-app input{font-size:16px}.confirm-list{columns:1}.award-grid .selected-pane{order:-1}.ranking-list:empty{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.candidate-list,.ranking-list{max-height:384px;overflow:auto;scrollbar-gutter:stable}.selected-pane summary{cursor:pointer;list-style:none}.selected-pane summary::-webkit-details-marker{display:none}.selected-pane summary::after{content:"＋";font-size:16px}.selected-pane[open] summary::after{content:"−"}.selected-pane summary span{margin-left:auto;margin-right:16px}.task-list{list-style:none;padding:0;margin:16px 0 40px}.task-list li{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--vote-hairline);gap:24px}.task-list a{color:var(--vote-text);font-weight:700}.task-list span{font-size:12px;color:var(--vote-secondary)}@media(max-width:719px){.candidate-list,.ranking-list{max-height:384px}.task-list li{align-items:flex-start;flex-direction:column;gap:8px}}

.award-meta a,.award-error a{color:var(--vote-text)}
