:root { color-scheme: light; --primary:#315c50; --accent:#e9f3ef; --text:#20302b; --danger:#a33636; }
* { box-sizing:border-box; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif; color:var(--text); background:#f5f7f6; }
body > .site-header { min-height:64px; padding:0 max(24px,calc((100% - 1100px)/2)); display:flex; align-items:center; justify-content:space-between; background:#fff; border-bottom:1px solid #dce4e1; }
nav { display:flex; gap:20px; align-items:center; } nav form { margin:0; } a { color:var(--primary); } .brand { font-size:1.2rem; font-weight:700; text-decoration:none; }
main { max-width:1100px; margin:40px auto; padding:0 24px; } h1 { margin-top:0; } section { margin-top:38px; }
.card { display:block; background:#fff; border:1px solid #dce4e1; border-radius:12px; padding:24px; box-shadow:0 4px 14px #1c332b0a; } a.card { text-decoration:none; } a.card span,a.card small { display:block; margin-top:8px; }
.narrow { max-width:600px; margin:auto; } .grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; } .detail-grid { display:grid; grid-template-columns:2fr 1fr; gap:20px; }
.title-row { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:24px; }
button,.button { border:0; border-radius:7px; padding:10px 16px; background:var(--primary); color:#fff; font:inherit; text-decoration:none; cursor:pointer; } .secondary { background:#607d75; } .link-button { color:var(--primary); background:none; padding:0; } .danger,.danger-button { color:var(--danger); } .danger-button { color:#fff; background:var(--danger); }
input:not([type=checkbox]),textarea,select { width:100%; padding:10px; border:1px solid #b8c7c2; border-radius:6px; font:inherit; } label { font-weight:600; } .helptext { display:block; color:#65736f; font-size:.85rem; } .errorlist { color:var(--danger); }
table { width:100%; border-collapse:collapse; } th,td { padding:12px; text-align:left; border-bottom:1px solid #e3e8e6; } .message { background:var(--accent); border-radius:7px; padding:12px 16px; margin-bottom:20px; } .empty { color:#67756f; }
dt { font-weight:700; margin-top:18px; } dd { margin:6px 0; } .event-code { font:700 2rem ui-monospace,monospace; letter-spacing:.12em; } .tag { display:inline-block; background:var(--accent); padding:5px 9px; border-radius:99px; margin:2px; } .qr { text-align:center; } .steps { background:var(--accent); padding:12px; border-radius:8px; }
@media(max-width:700px) { body > .site-header,.title-row { align-items:flex-start; flex-direction:column; padding-top:14px; padding-bottom:14px; } nav { flex-wrap:wrap; } .detail-grid { grid-template-columns:1fr; } main { margin-top:24px; } }
.hero { text-align:center; padding:40px 10px; }.hero h1{font-size:clamp(2rem,5vw,3.4rem)}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.action-card h2{margin-top:0}.feature-options ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;list-style:none;padding:0}.feature-options label{display:block;padding:14px;border:1px solid #b8c7c2;border-radius:8px;cursor:pointer}.feature-options label:has(input:checked){background:var(--accent);border-color:var(--primary)}.window-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.window-card{margin-top:0;background:#fff;border:1px solid #b8c7c2;border-radius:12px;overflow:hidden}.window-card-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;cursor:pointer;list-style:none}.window-card-header::-webkit-details-marker{display:none}.window-card-header:hover{background:#f8faf9}.window-card-header:focus-visible{outline:3px solid #79a99a;outline-offset:-3px}.window-heading{display:block;min-width:0}.window-card-header h2{margin:0;font-size:1.45rem}.window-description{display:block;margin-top:8px;color:#60706a;font-size:.92rem;font-weight:400}.window-summary-meta{display:flex;align-items:center;gap:12px;flex:0 0 auto}.window-count{flex:0 0 auto;padding:5px 10px;border-radius:999px;background:#eef3f1;color:#53645e;font-size:.85rem;font-weight:700}.window-chevron{width:10px;height:10px;border-right:2px solid #60706a;border-bottom:2px solid #60706a;transform:rotate(45deg);transition:transform .2s}.window-card[open] .window-chevron{transform:rotate(225deg)}.window-card-content{padding:22px 26px 26px;border-top:1px solid #e3e8e6}.window-features{display:grid;gap:10px;margin:0;padding:0;list-style:none}.window-features li{padding:14px 16px;border-left:4px solid var(--primary);border-radius:7px;background:var(--accent)}.window-features strong{display:block;font-size:1.15rem}.window-features .window-empty{border-left-color:#cbd5d1;background:#f5f7f6;color:#6b7974}.copy{font-size:.8rem;padding:6px 10px}
@media(max-width:700px){.window-grid{grid-template-columns:1fr}.table-wrap{overflow-x:auto}.event-code{font-size:1.5rem}}
.form-field{margin:0 0 24px}.form-field>label:not(.checkbox-label){display:block;margin-bottom:8px}.form-field.has-error{padding-left:14px;border-left:4px solid var(--danger)}.form-field .errorlist{margin:8px 0 0;padding-left:22px}.required{display:inline-block;margin-left:8px;padding:2px 6px;border-radius:4px;background:#f6e6e6;color:var(--danger);font-size:.72rem;vertical-align:middle}.checkbox-label{display:flex;gap:8px;align-items:center}.empty-guidance{padding:18px;border:1px solid #d4b55e;border-radius:8px;background:#fff9e8}.empty-guidance p{margin:8px 0 16px}.empty-guidance .button{margin-right:14px}button:disabled{cursor:not-allowed;opacity:.45}
.keyword-section{margin-top:24px}.keyword-section .title-row{margin-bottom:12px}.keyword-items{list-style:none;padding:0;margin:0 0 20px}.keyword-items li{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #e3e8e6}.keyword-items form{margin:0}.inline-form{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:12px;align-items:center}.status-note{padding:8px 12px;border-radius:6px;background:#fff3cd;color:#765b0b}.home-entry{margin-top:10vh}
@media(max-width:700px){.inline-form{grid-template-columns:1fr}.keyword-section .title-row{align-items:stretch}}
.keyword-bulk-form .helptext{margin:8px 0 14px}.toggle-row{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;cursor:pointer}.toggle-row input{position:absolute;opacity:0;pointer-events:none}.toggle{position:relative;width:44px;height:24px;flex:0 0 auto;border-radius:99px;background:#a8b5b1;transition:.2s}.toggle::after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.toggle-row input:checked+.toggle{background:var(--primary)}.toggle-row input:checked+.toggle::after{transform:translateX(20px)}.toggle-row input:focus-visible+.toggle{outline:3px solid #79a99a;outline-offset:2px}
.keyword-bulk-form{display:flex;flex-direction:column;align-items:stretch;gap:20px;margin-top:20px}.bulk-input-group{display:flex;flex-direction:column;gap:8px}.bulk-input-group>label{font-size:1.05rem}.keyword-bulk-form .helptext{margin:0}.form-actions{display:flex;justify-content:flex-end}.form-actions button{min-width:180px}
.keyword-source-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:4px}.keyword-source-button{padding:7px 10px;border:1px solid #b8c7c2;background:#fff;color:var(--primary);font-size:.85rem}.keyword-source-button:hover{background:var(--accent)}.selection-modal{position:fixed;z-index:900;inset:0;display:grid;place-items:center;padding:24px;background:rgba(20,34,30,.58)}.selection-modal[hidden]{display:none}.selection-modal-panel{width:min(100%,560px);max-height:min(76vh,680px);overflow:hidden;border:1px solid #cbd8d4;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(12,28,23,.28)}.selection-modal-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #e3e8e6}.selection-modal-header h3{margin:0;font-size:1.25rem}.selection-modal-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #cad6d2;border-radius:50%;background:#fff;color:var(--text);font-size:1.35rem}.selection-modal-close:hover{background:#f1f5f3}.selection-modal-list{display:grid;gap:22px;max-height:calc(min(76vh,680px) - 78px);padding:16px;overflow-y:auto;background:#edf2f0}.selection-modal-list>button,.preset-category-items>button{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-width:0;padding:18px 20px;border:0;border-radius:8px;background:#fff;color:var(--text);text-align:left}.selection-modal-list>button:hover,.selection-modal-list>button:focus-visible,.preset-category-items>button:hover,.preset-category-items>button:focus-visible{background:var(--accent)}.selection-modal-list>button span,.preset-category-items>button>span{color:#687771;font-size:.8rem;font-weight:400}.preset-category{margin:0}.preset-category h4{margin:0 0 10px;padding:0 8px;color:#53635e;font-size:.82rem}.preset-category-items{display:grid;gap:10px}.preset-option-copy{display:block;min-width:0;flex:1 1 auto}.preset-option-copy strong{display:block;overflow:hidden;color:var(--text);font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.preset-keyword-preview{display:block;margin-top:6px;overflow:hidden;color:#71807b;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.preset-item-count{flex:0 0 auto}.selection-modal-empty{margin:0;padding:28px 18px;background:#fff;color:#687771;text-align:center}body.selection-modal-open{overflow:hidden}
@media(max-width:600px){.keyword-source-actions{align-items:stretch;flex-direction:column}.keyword-source-button{width:100%;text-align:center}.selection-modal{padding:16px}.selection-modal-header{padding:17px 18px}.selection-modal-list>button{padding:14px}}
.event-statuses{display:flex;flex-wrap:wrap;gap:8px}.status-badge{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;font-size:.85rem;font-weight:700}.status-badge.published{background:#dcefe8;color:#1f654f}.status-badge.unpublished{background:#e9eceb;color:#53615d}.status-badge.timing{background:#eef2f8;color:#405774}.visibility-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;border-left:6px solid var(--primary)}.visibility-panel h2{margin:0 0 5px}.visibility-panel p{margin:0}.visibility-panel form{min-width:220px}.visibility-toggle{font-size:1.05rem;font-weight:700}.visibility-help{margin-top:8px!important;max-width:320px}.toggle-row input:disabled+.toggle{opacity:.45}.toggle-row input:disabled~span{cursor:not-allowed}
@media(max-width:700px){.visibility-panel{align-items:flex-start;flex-direction:column}.visibility-panel form{min-width:0;width:100%}}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 24px;padding:0;color:#67756f;font-size:.9rem}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs [aria-current="page"]{color:var(--text);font-weight:600}.decision-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:28px}.cancel-button{background:#eef2f0;color:var(--text);border:1px solid #b8c7c2}.cancel-button:hover{background:#e1e8e5}
@media(max-width:500px){.decision-actions{align-items:stretch;flex-direction:column-reverse}.decision-actions .button,.decision-actions button{text-align:center;width:100%}}
.dashboard-filters{margin-bottom:36px}.dashboard-filters h2{margin:0 0 18px;font-size:1.15rem}.filter-search{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:end;gap:12px}.filter-search label{display:block;margin-bottom:7px}.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.filter-chip{padding:8px 14px;border:1px solid #b8c7c2;border-radius:999px;color:var(--text);text-decoration:none;background:#fff}.filter-chip:hover{border-color:var(--primary);background:var(--accent)}.filter-chip.active{border-color:var(--primary);background:var(--primary);color:#fff}.dashboard-list{margin-top:0}.list-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:20px}.list-heading h2{margin:0}.list-heading span{color:#67756f}.event-card-grid{display:grid;grid-template-columns:1fr;gap:14px}.event-list-card{padding:22px 24px;border:1px solid #dce4e1;border-radius:12px;background:#fff;box-shadow:0 4px 14px #1c332b0a}.event-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.event-title{display:block;font-size:1.12rem;font-weight:700;overflow-wrap:anywhere}.event-code-small{display:block;margin-top:6px;color:#67756f;font-family:ui-monospace,monospace;letter-spacing:.08em}.event-card-statuses{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:6px}.event-period{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;margin-top:18px;padding-top:15px;border-top:1px solid #e3e8e6;color:#3c4c47}.event-period .event-card-label{margin-right:8px;color:#687771;font-size:.85rem;font-weight:700}.empty-list{text-align:center!important;padding:42px!important;color:#67756f}
@media(max-width:760px){.filter-search{grid-template-columns:1fr}.filter-search button,.filter-search .button{width:100%;text-align:center}.event-card-header{flex-direction:column}.event-card-statuses{justify-content:flex-start}.event-period{align-items:flex-start;flex-direction:column}.event-period .event-card-label{margin:0}}
.optional{display:inline-block;margin-left:8px;color:#71807b;font-size:.75rem;font-weight:400}.field-error{margin:8px 0 0;color:var(--danger);font-weight:600}.form-field.has-error input,.form-field.has-error textarea,.form-field.has-error select{border-color:var(--danger);background:#fffafa}.form-summary{margin-bottom:24px;padding:14px 18px;border-left:4px solid var(--danger);border-radius:6px;background:#fff1f1;color:#812d2d}.form-summary p{margin:5px 0 0}
.date-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.date-shortcuts span{color:#60706a;font-size:.9rem}.date-shortcuts button{padding:6px 11px;border:1px solid #b8c7c2;border-radius:6px;background:#fff;color:var(--primary);font-size:.85rem}.date-shortcuts button:hover{background:var(--accent)}
.confirmation-lead{margin-bottom:26px;color:#52615c}.confirmation-list{margin:0;border:1px solid #d9e2df;border-radius:10px;overflow:hidden}.confirmation-list>div{display:grid;grid-template-columns:180px minmax(0,1fr);border-bottom:1px solid #e3e8e6}.confirmation-list>div:last-child{border-bottom:0}.confirmation-list dt{margin:0;padding:18px 20px;background:#f3f6f5;font-weight:700}.confirmation-list dd{margin:0;padding:18px 20px;background:#fff;overflow-wrap:anywhere}.not-entered{color:#798681}.next-step-note{margin-top:24px;padding:18px 20px;border-left:5px solid #d4a72c;border-radius:7px;background:#fff8e5}.next-step-note strong{display:block;margin-bottom:6px}.next-step-note p{margin:0;color:#554a2a}
@media(max-width:600px){.confirmation-list>div{grid-template-columns:1fr}.confirmation-list dt{padding-bottom:7px}.confirmation-list dd{padding-top:10px}}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.assessment-card{padding:40px}.assessment-card h1{margin-bottom:24px}.assessment-intro{margin:0 0 30px;color:#34443f;font-size:1.05rem}.feature-fieldset{margin:0;padding:0;border:0}.assessment-card .feature-options>div,.assessment-card .feature-options ul{display:grid;grid-template-columns:1fr;gap:14px;margin:0;padding:0}.assessment-card .feature-options label{display:flex;align-items:center;gap:10px;min-height:68px;padding:16px 18px}.assessment-card .feature-options input{flex:0 0 auto}.assessment-actions{margin-top:32px}
@media(max-width:600px){.assessment-card{padding:24px}.assessment-card .feature-options>div,.assessment-card .feature-options ul{grid-template-columns:1fr;gap:10px}.assessment-actions{margin-top:24px}}
.self-confirm-card{max-width:760px;margin:0 auto}.selection-summary{margin-top:8px;padding:22px 24px;border:1px solid #d9e2df;border-radius:10px;background:#f8faf9}.selection-summary h2{margin:0 0 16px;font-size:1rem;color:#52615c}.selected-tags{display:flex;flex-wrap:wrap;gap:10px}.selected-tags .tag{margin:0;padding:8px 13px;font-size:1rem}.self-confirm-actions{margin-top:28px;padding-top:22px;border-top:1px solid #e3e8e6}
.completion-page{max-width:920px;margin:0 auto}.completion-header{display:flex;align-items:center;gap:18px;margin-bottom:28px}.completion-header h1{margin:0 0 5px}.completion-header p{margin:0;color:#5e6d68}.completion-icon{display:grid;place-items:center;width:52px;height:52px;flex:0 0 auto;border-radius:50%;background:#dcefe8;color:#1f654f;font-size:1.7rem;font-weight:700}.share-card{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:36px;padding:32px}.section-heading{display:flex;align-items:flex-start;gap:13px}.section-heading h2{margin:0 0 6px;font-size:1.2rem}.section-heading p{margin:0;color:#64736e}.step-number{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:50%;background:var(--primary);color:#fff;font-size:.9rem;font-weight:700}.code-box{margin-top:26px;padding:18px 20px;border:1px solid #cad8d3;border-radius:9px;background:#f8faf9}.code-label,.url-box>span{display:block;margin-bottom:7px;color:#65746f;font-size:.85rem;font-weight:700}.code-box>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.code-box strong{font:700 1.8rem ui-monospace,monospace;letter-spacing:.12em}.copy-button{padding:8px 13px;font-size:.85rem}.url-box{margin-top:18px}.url-box a{display:block;overflow-wrap:anywhere}.share-qr{align-self:center;margin:0;text-align:center}.share-qr img{display:block;width:200px;height:200px;margin:0 auto}.share-qr figcaption{margin-top:9px;color:#6b7974;font-size:.78rem}.private-result-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;padding:24px 28px;border:1px solid #e4d8b4;border-radius:12px;background:#fff9e9}.private-result-card .step-number{background:#9a7515}.private-result-card .button{flex:0 0 auto}.completion-actions{display:flex;justify-content:flex-end;margin-top:22px}
@media(max-width:700px){.completion-header{align-items:flex-start}.share-card{grid-template-columns:1fr;padding:24px}.share-qr{order:2}.private-result-card{align-items:stretch;flex-direction:column}.private-result-card .button{text-align:center}.completion-actions .button{width:100%;text-align:center}.code-box>div{align-items:flex-start;flex-direction:column}.code-box strong{font-size:1.5rem}}
.target-confirm-card{max-width:760px;margin:0 auto;padding:36px}.target-confirm-card h1{margin-bottom:12px}.target-summary dd{font-size:1.05rem}.target-summary>div:first-child dd{font-size:1.2rem}
@media(max-width:600px){.target-confirm-card{padding:24px}}
.simple-completion{max-width:620px;margin:8vh auto 0;padding:48px;text-align:center}.simple-completion-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 22px;border-radius:50%;background:#dcefe8;color:#1f654f;font-size:1.8rem;font-weight:700}.simple-completion h1{margin:0 0 16px;font-size:clamp(1.8rem,4vw,2.4rem)}.simple-completion p{margin:0;color:#53625d;line-height:1.8}.simple-completion-actions{display:flex;align-items:stretch;flex-direction:column;gap:12px;max-width:330px;margin:30px auto 0;padding-top:24px;border-top:1px solid #e3e8e6}.simple-completion-actions .button{text-align:center}
@media(max-width:600px){.simple-completion{margin-top:24px;padding:32px 24px}}
.code-entry-card{max-width:680px;margin:6vh auto 0;padding:38px}.code-entry-card h1{margin:0 0 10px;font-size:clamp(1.8rem,4vw,2.5rem)}.code-entry-intro{margin:0 0 28px;color:#60706a}.code-entry-field label{display:block;margin-bottom:8px}.code-entry-field input{font-family:ui-monospace,monospace;font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase}.code-entry-actions{margin-top:26px;padding-top:22px;border-top:1px solid #e3e8e6}
@media(max-width:600px){.code-entry-card{margin-top:24px;padding:28px 24px}}
.qr-expand-button{display:inline-block;padding:0;border:0;background:transparent;color:inherit;line-height:0;cursor:zoom-in}.qr-expand-button:hover{background:transparent}.qr-expand-button:focus-visible{outline:3px solid #79a99a;outline-offset:5px}.expandable-qr{display:block}.qr-hint{margin:8px 0 0;color:#6b7974;font-size:.8rem}.qr-overlay{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;background:rgba(12,25,21,.82);cursor:zoom-out}.qr-overlay[hidden]{display:none}.qr-overlay img{width:min(82vmin,720px);height:min(82vmin,720px);padding:18px;background:#fff;border-radius:12px;box-shadow:0 20px 70px rgba(0,0,0,.35)}.qr-overlay-close{position:fixed;top:20px;right:24px;padding:9px 14px;border:1px solid rgba(255,255,255,.7);background:rgba(0,0,0,.35);color:#fff}.qr-overlay-close:hover{background:rgba(0,0,0,.6)}body.qr-overlay-open{overflow:hidden}
.event-information-card{display:flex;flex-direction:column;gap:26px;padding:30px}.event-overview{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(280px,1.35fr);gap:24px 30px;margin:0}.event-overview>div{min-width:0}.event-overview dt{margin:0 0 8px;color:#60706a;font-size:.85rem}.event-overview dd{margin:0;line-height:1.65}.event-description{grid-column:1/-1;padding-top:20px;border-top:1px solid #e3e8e6}.period-separator{display:inline-block;margin:0 8px;color:#71807b}.event-share-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px 30px;padding:22px 24px;border-radius:10px;background:#f3f7f5}.event-info-label{display:block;margin-bottom:9px;color:#60706a;font-size:.85rem;font-weight:700}.event-share-code>div{display:flex;align-items:center;gap:14px}.event-share-code .event-code{font-size:1.75rem}.event-share-url{min-width:0}.event-share-url a{display:block;overflow-wrap:anywhere;line-height:1.55}.event-qr-card{display:flex;align-items:center;flex-direction:column;justify-content:center;padding:30px}.event-qr-card h2{margin:0 0 22px;font-size:1.2rem}
.event-detail-heading h1{margin-bottom:0}
.participant-code{display:inline-flex;align-items:center;gap:5px;width:max-content;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700;letter-spacing:.08em;white-space:nowrap;text-underline-offset:3px}.participant-code span{font-family:inherit;font-size:.75em;letter-spacing:0}.participant-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.participant-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border-radius:6px;font-size:.9rem;font-weight:700;text-decoration:none}.participant-result-link{padding:7px 12px;background:var(--primary);color:#fff}.participant-result-link:hover{background:#274b41}.participant-pdf-link{padding:6px 12px;border:1px solid #aabdb6;background:#fff;color:var(--primary)}.participant-pdf-link:hover{background:var(--accent)}
.participants-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px}.participants-heading h2{margin:0 0 6px}.participants-heading p{margin:0;color:#60706a;font-size:.9rem}.participant-bulk-pdf{flex:0 0 auto;border:1px solid #9fb2ac;background:#fff;color:var(--primary);font-weight:700}.participant-bulk-pdf:hover{background:var(--accent)}.participant-bulk-pdf.disabled{cursor:not-allowed;opacity:.5}.participant-name-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.participant-inactive td{background:#f7f8f8;color:#697671}.participant-inactive .participant-code{color:#687771}.participant-visibility-panel{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:24px;border-left:6px solid var(--primary)}.participant-visibility-panel.inactive{border-left-color:#8b9994;background:#fafbfb}.participant-visibility-panel h2{margin:0 0 5px;font-size:1.2rem}.participant-visibility-panel p{margin:0;color:#52615c}.participant-visibility-panel form{flex:0 0 auto;min-width:110px}
.external-link::after{content:"↗";display:inline-block;margin-left:.35em;font-size:.8em;line-height:1;user-select:none;-webkit-user-select:none}.participant-self-result-link{padding:6px 12px;border:1px solid #aabdb6;background:#fff;color:var(--primary)}.participant-self-result-link:hover{background:var(--accent)}.result-title-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.result-title-actions .result-download{padding:6px 12px;font-weight:inherit}
@media(max-width:700px){.result-title-actions{display:grid;grid-template-columns:1fr;justify-content:stretch}.result-title-actions .button{width:100%;text-align:center}}
@media(max-width:700px){.participants-heading{align-items:stretch;flex-direction:column}.participant-bulk-pdf{width:100%;text-align:center}.participant-visibility-panel{align-items:flex-start;flex-direction:column}.participant-visibility-panel form{min-width:0}.participant-visibility-panel .toggle-row{width:100%}}
.assessment-summary-section{margin-top:46px}.assessment-summary-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}.assessment-summary-heading h2{margin:0 0 7px;}.assessment-summary-heading p{max-width:780px;margin:0;color:#60706a}.assessment-summary-pdf{flex:0 0 auto;border:1px solid #9fb2ac;background:#fff;color:var(--primary);font-weight:700}.assessment-summary-empty{padding:28px 30px}.assessment-summary-empty h3{margin:0 0 7px}.assessment-summary-empty p{margin:0;color:#60706a}.summary-block{margin-top:20px;padding:28px 30px}.summary-block>h3,.summary-rankings>h3{margin:0 0 20px;font-size:1.25rem}.summary-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.summary-metrics>div{padding:0 18px;border-left:1px solid #dce4e1}.summary-metrics>div:first-child{padding-left:0;border-left:0}.summary-metrics dt{min-height:2.8em;color:#60706a;font-size:.8rem}.summary-metrics dd{margin:8px 0 0;font-size:1.35rem;font-weight:700}.window-average-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.window-average-grid>div{padding:18px;border-radius:9px;background:var(--accent)}.window-average-grid span{display:block;color:#52645e;font-size:.85rem}.window-average-grid strong{display:block;margin-top:8px;font-size:1.2rem}.summary-table-wrap{border:1px solid #d9e2df;border-radius:9px}.summary-item-table th:not(:first-child),.summary-item-table td:not(:first-child){text-align:right;white-space:nowrap}.summary-item-table th:first-child{min-width:220px}.summary-rankings{margin-top:28px}.summary-ranking-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ranking-card{padding:24px}.ranking-card h4{margin:0 0 20px;font-size:1.2rem}.ranking-table-group+.ranking-table-group{margin-top:24px}.ranking-table-group h5{margin:0 0 10px;color:#52645e;font-size:.9rem}.ranking-table-group table{width:100%;border-collapse:collapse}.ranking-table-group th,.ranking-table-group td{padding:9px 10px;border-bottom:1px solid #e2e8e5;text-align:left}.ranking-table-group th{color:#60706a;font-size:.78rem}.ranking-table-group th:first-child,.ranking-table-group td:first-child{width:54px;text-align:right}.ranking-table-group th:last-child,.ranking-table-group td:last-child{width:70px;text-align:right}.summary-conditions dl{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin:0}.summary-conditions dl>div{display:grid;grid-template-columns:120px 1fr;padding:11px 0;border-bottom:1px solid #e2e8e5}.summary-conditions dt{color:#60706a;font-size:.85rem}.summary-conditions dd{margin:0}.summary-conditions dl>div:first-child{grid-column:1/-1}
@media(max-width:900px){.summary-metrics{grid-template-columns:repeat(2,1fr);gap:20px}.summary-metrics>div{padding:0;border-left:0}.window-average-grid{grid-template-columns:1fr 1fr}.summary-ranking-grid{grid-template-columns:1fr}}
@media(max-width:700px){.assessment-summary-heading{align-items:stretch;flex-direction:column}.assessment-summary-pdf{width:100%;text-align:center}.summary-block{padding:22px 20px}.summary-metrics,.window-average-grid,.summary-conditions dl{grid-template-columns:1fr}.summary-metrics dt{min-height:0}.summary-conditions dl>div:first-child{grid-column:auto}.summary-conditions dl>div{grid-template-columns:1fr;gap:4px}.summary-table-wrap{border-radius:0}.summary-item-table{min-width:780px}}
@media(max-width:820px){.event-overview,.event-share-panel{grid-template-columns:1fr}.event-description{grid-column:auto}.event-share-panel{gap:20px}.event-information-card{padding:24px}.event-share-code .event-code{font-size:1.5rem}}
.join-event-card{display:grid;grid-template-columns:1fr;align-items:start;gap:24px;padding:28px 32px}.join-event-card h1{margin:0;padding-top:24px;border-top:1px solid #dce4e1;font-size:clamp(1.55rem,2.4vw,2rem);line-height:1.35;overflow-wrap:anywhere}.join-event-summary{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(300px,1.35fr);gap:18px 28px;margin:0}.join-event-summary>div{display:flex;align-items:baseline;min-width:0;gap:12px}.join-event-summary>div+div:not(.join-event-description){padding-left:28px;border-left:1px solid #dce4e1}.join-event-summary dt{flex:0 0 auto;margin:0;color:#60706a;font-size:.8rem;white-space:nowrap}.join-event-summary dd{min-width:0;margin:0;line-height:1.55}.join-event-description{grid-column:1/-1;padding-top:16px;border-top:1px solid #e3e8e6}.join-actions{margin-top:30px}.join-actions h2{margin:0 0 18px;font-size:1.25rem}.join-actions .action-grid{gap:14px}.join-actions .action-card{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:138px;padding:24px}.join-actions .action-card h3{margin:0 0 9px;font-size:1.15rem;color:var(--primary)}.join-actions .action-card p{margin:0;color:#52645e;line-height:1.6}.action-arrow{flex:0 0 auto;color:#789087;font-size:2rem;line-height:1}.join-actions .action-card:hover{border-color:#9bb3aa;background:#fbfdfc}.token-entry-card input{text-transform:none;letter-spacing:.03em}.participant-entry-card input{font-family:inherit;letter-spacing:normal;text-transform:none}.participant-entry-card .code-entry-intro strong{color:var(--text)}
@media(max-width:1050px){.join-event-card{padding:24px}}
@media(max-width:700px){.join-event-summary{grid-template-columns:1fr}.join-event-summary>div+div:not(.join-event-description){padding:14px 0 0;border-top:1px solid #dce4e1;border-left:0}.join-event-description{grid-column:auto}.join-actions .action-grid{grid-template-columns:1fr}.join-actions .action-card{min-height:0}}
.result-summary-card{margin-bottom:24px;padding:30px 32px}.result-title-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.result-title-row h1{margin:0;font-size:clamp(1.8rem,4vw,2.5rem)}.result-download{flex:0 0 auto;border:1px solid #9fb2ac;background:#fff;color:var(--primary);font-weight:700}.result-download:hover{background:var(--accent)}.result-subject-grid{display:grid;grid-template-columns:.75fr 1.35fr .9fr;gap:24px;margin:28px 0 0;padding:22px 0;border-top:1px solid #e3e8e6;border-bottom:1px solid #e3e8e6}.result-subject-grid dt{margin:0 0 6px;color:#687771;font-size:.8rem}.result-subject-grid dd{margin:0;font-size:1.05rem;line-height:1.5;overflow-wrap:anywhere}.result-subject-grid>div:first-child dd{font-weight:700}.result-stats{display:flex;align-items:center;flex-wrap:wrap;gap:12px 34px;padding-top:20px;color:#43534e}.result-stats span{display:flex;align-items:baseline;gap:10px}.result-stats strong{color:#687771;font-size:.8rem}.result-summary-card+.message{margin-top:0}
@media(max-width:700px){.result-summary-card{padding:24px}.result-title-row{align-items:stretch;flex-direction:column}.result-download{text-align:center}.result-subject-grid{grid-template-columns:1fr;gap:18px}.result-stats{align-items:flex-start;flex-direction:column;gap:12px}.result-stats span{align-items:flex-start;flex-direction:column;gap:3px}}
@media(max-width:700px){
  body>.site-header{min-height:56px;align-items:center;flex-direction:row;gap:16px;padding:12px 16px}
  .site-header .brand{flex:0 0 auto;font-size:1rem;white-space:nowrap}
  .site-header nav{justify-content:flex-end;gap:14px;margin-left:auto;font-size:.85rem;white-space:nowrap}
  main{margin:24px auto;padding:0 16px}
  main h1{font-size:1.75rem;line-height:1.35}
  .dashboard-heading{gap:20px;margin-bottom:24px;padding:0}
  .dashboard-heading h1{margin-bottom:6px}
  .dashboard-heading p{margin:0}
  .dashboard-heading .button{width:100%;text-align:center}
  .dashboard-filters{padding:20px;margin-bottom:28px}
  .filter-chips{gap:7px}
  .filter-chip{padding:7px 11px;font-size:.85rem}
  .participants-section h2{}
  .participants-section .table-wrap{padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
  .participants-section table,.participants-section tbody,.participants-section tr,.participants-section td{display:block;width:100%}
  .participants-section thead{display:none}
  .participants-section tbody{display:grid;gap:12px}
  .participants-section tr{padding:16px 18px;border:1px solid #dce4e1;border-radius:10px;background:#fff;box-shadow:0 4px 14px #1c332b0a}
  .participants-section td{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:9px 0;border:0;overflow-wrap:anywhere}
  .participants-section td::before{content:attr(data-label);color:#687771;font-size:.78rem;font-weight:700}
  .participants-section td[data-label="操作"]{align-items:center;border-top:1px solid #e3e8e6;margin-top:5px;padding-top:14px}
  .participant-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:36px}
  .participant-actions a{min-height:40px;line-height:1.2}
  .participants-section .participant-empty-row{padding:24px;text-align:center;color:#67756f}
  .participants-section .participant-empty-row td{display:block;padding:0}
  .participants-section .participant-empty-row td::before{content:none}
  .window-card-header{align-items:flex-start;gap:12px;padding:18px}
  .window-card-header h2{font-size:1.2rem}
  .window-description{margin-top:6px;font-size:.82rem;line-height:1.55}
  .window-summary-meta{gap:9px;padding-top:1px}
  .window-count{padding:4px 8px;font-size:.78rem}
  .window-card-content{padding:16px 18px 18px}
  .window-features{gap:9px}
  .window-features li{padding:12px 14px}
  .window-features strong{font-size:1rem;line-height:1.5}
}
.window-features li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}
.window-feature-count{display:block;color:#60706a;font-size:.82rem;text-align:right;white-space:nowrap}
.auth-card{max-width:560px;margin:5vh auto 0;padding:36px 40px}.auth-product{margin-bottom:30px;padding-bottom:24px;border-bottom:1px solid #e3e8e6}.auth-product strong,.auth-product span{display:block}.auth-product strong{font-size:1.25rem;letter-spacing:.02em}.auth-product span{margin-top:5px;color:#687771;font-size:.85rem}.auth-header{margin-bottom:30px}.auth-header h1{margin:0 0 8px;font-size:clamp(1.8rem,4vw,2.35rem)}.auth-header p{margin:0;color:#60706a}.auth-card .form-field{margin-bottom:22px}.auth-card .form-field>label{display:block;margin-bottom:8px}.auth-card input{min-height:48px}.auth-actions{margin-top:28px;padding-top:22px;border-top:1px solid #e3e8e6}.auth-actions button{min-width:150px}.login-actions{justify-content:center}.auth-footer{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:28px;padding-top:22px;border-top:1px solid #e3e8e6;color:#687771;font-size:.9rem}.auth-footer a{font-weight:700}.auth-home{margin-top:22px;padding-top:20px;border-top:1px solid #e3e8e6;text-align:center;font-size:.9rem}.auth-home a{color:#60706a}.signup-card{max-width:640px}
@media(max-width:600px){.auth-card{margin-top:16px;padding:28px 22px}.auth-header{margin-bottom:24px}.auth-actions button,.auth-actions .button{width:100%}.auth-footer{align-items:flex-start;flex-direction:column;gap:5px}}
.participant-feature-card{max-width:880px;margin:0 auto;padding:36px}.event-feature-preview{margin-top:0;padding:22px 24px;border:1px solid #d9e2df;border-radius:10px;background:#f8faf9}.event-feature-preview h2,.participant-feature-editor h2{margin:0;font-size:1.1rem}.event-feature-preview ul{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}.event-feature-preview li{padding:7px 11px;border-radius:999px;background:var(--accent);font-size:.9rem}.participant-feature-editor{margin-top:24px;padding-top:24px;border-top:1px solid #e3e8e6}.participant-feature-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.participant-feature-heading h2 .optional{vertical-align:middle}.participant-feature-heading p{margin:7px 0 0;color:#60706a;font-size:.9rem}.participant-feature-heading>strong{flex:0 0 auto;color:#60706a;font-size:.9rem}.participant-feature-inputs{display:grid;gap:12px;margin-top:20px}.participant-feature-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.participant-feature-row input{min-height:46px}.participant-feature-remove{min-height:46px;padding:9px 14px;border:1px solid #dfb9b9;background:#fff;color:var(--danger)}.participant-feature-remove:hover{background:#fff2f2}.participant-feature-add{margin-top:14px;border:1px solid #aebfb9;background:#fff;color:var(--primary);font-weight:700}.participant-feature-add:hover{background:var(--accent)}.participant-feature-add:disabled{background:#eef2f0;color:#83908c}
@media(max-width:600px){.participant-feature-card{padding:24px}.participant-feature-heading{flex-direction:column;gap:10px}.participant-feature-row{grid-template-columns:1fr}.participant-feature-remove{justify-self:end;min-height:44px}.participant-feature-add{width:100%}}
.management-heading p{margin:6px 0 0;color:#60706a}.management-filters{margin:0 0 32px}.management-filters h2{margin-top:0}.management-users{margin-top:0}.management-users .list-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.management-users .list-heading h2{margin:0}.management-user-form{max-width:720px;padding:40px}.management-form-header{margin-bottom:34px}.management-form-header h1{margin:0 0 9px}.management-form-header p{margin:0;color:#60706a;line-height:1.65}.management-form-section{margin:0;padding:0;border:0}.management-form-section h2{margin:0 0 22px;font-size:1.15rem}.management-form-fields{display:grid;gap:24px}.management-user-form .form-field{margin:0}.management-user-form .form-field>label{display:block;margin-bottom:8px}.management-user-form .helptext{margin-top:7px;line-height:1.5}.service-status-section{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:34px;padding:24px;border:1px solid #d9e2df;border-radius:10px;background:#f8faf9}.service-status-section h2{margin:0 0 6px}.service-status-section p{max-width:440px;margin:0;color:#60706a;font-size:.9rem;line-height:1.55}.management-status-toggle{flex:0 0 auto;font-weight:700}.management-status-toggle .toggle-status-off{display:none}.management-status-toggle input:not(:checked)~.toggle-status-on{display:none}.management-status-toggle input:not(:checked)~.toggle-status-off{display:inline}.management-form-actions{margin-top:30px;padding-top:24px;border-top:1px solid #e3e8e6}.activation-required{max-width:760px;margin:38px auto 0;padding:42px;text-align:center}.activation-required h2{margin:12px 0 8px;font-size:1.65rem}.activation-required p{margin:0 0 26px;color:#52615c}.activation-status{display:inline-block;padding:6px 11px;border-radius:99px;background:#fff2cf;color:#745a16;font-size:.85rem;font-weight:700}
@media(max-width:760px){.management-heading .button{width:100%;text-align:center}.management-users .table-wrap{padding:0;border:0;background:transparent;box-shadow:none}.management-users table,.management-users tbody,.management-users tr,.management-users td{display:block;width:100%}.management-users thead{display:none}.management-users tbody{display:grid;gap:12px}.management-users tr{padding:16px 18px;border:1px solid #dce4e1;border-radius:10px;background:#fff}.management-users td{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:8px 0;border:0;overflow-wrap:anywhere}.management-users td::before{content:attr(data-label);color:#687771;font-size:.78rem;font-weight:700}.management-users td:last-child{margin-top:6px;padding-top:14px;border-top:1px solid #e3e8e6}.management-user-form{padding:28px 24px}.management-form-header{margin-bottom:28px}.service-status-section{align-items:flex-start;flex-direction:column;gap:18px;padding:20px}.management-status-toggle{width:100%}.management-form-actions{display:grid;grid-template-columns:1fr;gap:10px}.management-form-actions .button,.management-form-actions button{width:100%;text-align:center}.activation-required{padding:28px 24px}.activation-required .button{display:block;text-align:center}}
