:root{--ink:#182329;--muted:#68767a;--paper:#f7f7f3;--line:#dfe4e1;--red:#b13c37;--red-dark:#8e2926;--white:#fff;--shade:#eff2ef}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--white);margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,Meiryo,sans-serif;font-size:16px;line-height:1.6}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}.container,.header-inner,.footer-inner{width:min(1180px,100% - 48px);margin:auto}.site-header{border-bottom:1px solid var(--line);z-index:10;background:#fff;height:76px;position:relative}.header-inner{justify-content:space-between;align-items:center;gap:24px;height:100%;display:flex}.brand{white-space:nowrap;align-items:center;gap:12px;display:flex}.brand:hover{color:var(--ink)}.brand-mark{background:var(--red);color:#fff;place-items:center;width:39px;height:39px;font-size:22px;font-weight:800;line-height:1;display:grid}.brand strong{letter-spacing:.08em;font-size:18px;line-height:1.2;display:block}.brand small{color:#879193;letter-spacing:.21em;margin-top:3px;font-size:9px;font-weight:700;display:block}.site-header nav{letter-spacing:.04em;align-items:center;gap:34px;font-size:13px;font-weight:700;display:flex}.hero{border-bottom:1px solid var(--line);background:#f6f6f2;min-height:320px;position:relative;overflow:hidden}.hero-inner{z-index:1;padding:49px 0 42px;position:relative}.eyebrow,.section-label{color:var(--red);letter-spacing:.17em;font-size:11px;font-weight:800}.eyebrow{align-items:center;gap:9px;display:flex}.eyebrow-dot{background:var(--red);border-radius:50%;width:7px;height:7px}.hero h1{letter-spacing:-.06em;margin:15px 0 11px;font-size:clamp(35px,4.1vw,59px);font-weight:800;line-height:1.35}.hero h1 em{color:var(--red);font-style:normal}.hero p{color:#526064;margin:0;font-size:15px}.hero-meta{color:#59676b;align-items:center;gap:18px;margin-top:23px;font-size:12px;display:flex}.hero-meta b{color:var(--ink);font-size:16px}.hero-meta i{border-left:1px solid #bdc7c5;height:14px}.hero-ornament{letter-spacing:.15em;color:#e9ebe6;text-align:center;border:10px solid #e9ebe6;padding:18px 6px 8px;font-family:serif;font-size:105px;font-weight:900;line-height:1;position:absolute;top:29px;right:9%;transform:rotate(-10deg)}.game-section{background:#fff;padding:49px 0 65px}.game-grid{grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);align-items:start;gap:32px;display:grid}.game-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px;display:flex}.game-heading h2,.roster-head h2{letter-spacing:-.04em;margin:7px 0 0;font-size:22px;line-height:1.35}.settings-trigger{border:1px solid var(--line);color:#48565a;white-space:nowrap;background:#fff;border-radius:4px;padding:10px 14px;font-size:12px;font-weight:700}.settings-trigger:hover{border-color:var(--red);color:var(--red)}.settings-panel{border:1px solid var(--line);background:#fff;margin-bottom:18px;padding:20px;box-shadow:0 12px 34px #18232912}.settings-head{justify-content:space-between;align-items:center;display:flex}.settings-head h3{margin:0;font-size:17px}.settings-head button{background:0 0;border:0;font-size:25px;line-height:1}.settings-fields{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;display:grid}.settings-fields label,.candidate-actions label,.finish-panel label{color:#536165;font-size:12px;font-weight:700;display:block}.settings-fields input,.settings-fields select,.candidate-actions select,.finish-panel input{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd3d0;border-radius:3px;min-height:44px;margin-top:5px;padding:8px 11px;font-size:16px;display:block}.settings-checks{gap:18px;margin-top:15px;font-size:13px;display:flex}.settings-checks input{accent-color:var(--red)}.settings-panel p{color:var(--muted);margin:12px 0 0;font-size:11px}.draw-card{background:var(--paper);border:1px solid #d9dfda;min-height:285px;padding:21px 26px 27px;position:relative}.draw-card:before{content:"";pointer-events:none;border:1px solid #e5e8e2;position:absolute;inset:6px}.draw-topline{color:#6b797b;letter-spacing:.12em;border-bottom:1px solid #d5dcd6;justify-content:space-between;padding-bottom:10px;font-size:11px;font-weight:700;display:flex}.envelopes{align-items:center;gap:13px;margin:20px 0 12px;display:flex}.envelope{background:#fff;border:1px solid #d5dcd6;flex-direction:column;flex:1;justify-content:center;align-items:center;height:89px;display:flex;position:relative;box-shadow:0 3px #e5e9e4}.envelope:after{content:"";opacity:.6;pointer-events:none;background:linear-gradient(155deg,#0000 49.5%,#e5e9e4 50%,#0000 50.5%);position:absolute;inset:0}.envelope.opened{border-color:#c9aaa3}.envelope small{color:#899599;letter-spacing:.1em;font-size:10px;font-weight:800}.envelope strong{z-index:1;font-size:20px;line-height:1.4;position:relative}.draw-x{color:var(--red);font-family:Georgia,serif;font-size:22px;font-weight:700}.draw-card p{color:var(--muted);text-align:center;margin:0 0 15px;font-size:12px}.primary-button{background:var(--red);color:#fff;border:1px solid var(--red);text-align:center;border-radius:3px;justify-content:center;align-items:center;min-height:46px;padding:12px 17px;font-size:13px;font-weight:800;display:inline-flex}.primary-button:hover{background:var(--red-dark);color:#fff}.spin-button{width:100%;font-size:15px}.candidate-panel{border:1px solid var(--line);margin-top:18px}.panel-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:17px 20px;display:flex}.panel-title>div{align-items:center;gap:10px;display:flex}.panel-title h3{margin:0;font-size:16px}.panel-title>span{color:var(--muted);font-size:12px}.stamp-mini{border:1px solid var(--red);color:var(--red);padding:2px 4px;font-size:10px;font-weight:800}.candidate-help{color:var(--muted);padding:0 20px;font-size:12px}.candidate-list{max-height:360px;overflow:auto}.candidate{text-align:left;background:#fff;border:0;border-top:1px solid #eef0ed;align-items:center;gap:10px;width:100%;min-height:59px;padding:10px 17px;display:flex}.candidate:hover,.candidate.selected{background:#faf4f2}.candidate.selected{box-shadow:inset 3px 0 var(--red)}.candidate-rank{color:var(--red);min-width:65px;font-size:11px;font-weight:800}.candidate-person{flex-direction:column;flex:1;min-width:0;display:flex}.candidate-person strong{font-size:14px}.candidate-person small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.unsigned{color:#68777a;white-space:nowrap;border:1px solid #c5ceca;padding:1px 4px;font-size:10px}.candidate-radio{border:1px solid #bac5c0;border-radius:50%;flex:none;width:17px;height:17px}.candidate.selected .candidate-radio{border:5px solid var(--red)}.candidate-actions{border-top:1px solid var(--line);background:#f8f9f6;grid-template-columns:1fr 1.1fr;align-items:end;gap:10px;padding:16px 20px;display:grid}.candidate-actions .pass-button{color:var(--muted);background:0 0;border:0;grid-column:1/-1;min-height:36px;font-size:12px;text-decoration:underline}.roster-panel{border:1px solid var(--line);background:#fff;box-shadow:0 7px 26px #1d29270b}.roster-head{justify-content:space-between;align-items:center;padding:20px 23px 15px;display:flex}.roster-count{color:var(--red);font-variant-numeric:tabular-nums;font-size:28px;font-weight:800}.roster-count small{color:#9ba4a3;font-size:13px}.roster-progress{background:#e7ebe7;height:3px}.roster-progress span{background:var(--red);height:100%;transition:width .3s;display:block}.roster-list{padding:2px 15px}.roster-row{border-bottom:1px solid #edf0ed;align-items:center;gap:9px;height:47px;display:flex}.roster-index{color:#a2adab;font-variant-numeric:tabular-nums;width:24px;font-size:10px;font-weight:700}.roster-position{color:#58686b;flex:none;width:55px;font-size:11px;font-weight:700}.roster-player{white-space:nowrap;flex:1;align-items:baseline;gap:7px;min-width:0;display:flex;overflow:hidden}.roster-player strong{text-overflow:ellipsis;font-size:13px;overflow:hidden}.roster-player small{color:#8a9899;text-overflow:ellipsis;font-size:10px;overflow:hidden}.roster-player em{color:#b4bdbc;font-size:11px;font-style:normal}.roster-seal{color:var(--red);border:1px solid var(--red);padding:2px;font-size:10px;line-height:1.1;transform:rotate(-13deg)}.roster-bottom{color:#6f7d80;justify-content:space-between;align-items:center;padding:17px 22px;font-size:11px;display:flex}.roster-bottom button{color:#879294;background:0 0;border:0;font-size:11px;text-decoration:underline}.finish-panel{background:#fbf7f5;border:1px solid #d7c1bc;margin-top:18px;padding:24px}.finish-stamp{border:3px double var(--red);color:var(--red);letter-spacing:.15em;padding:5px 8px;font-weight:900;display:inline-block;transform:rotate(-8deg)}.finish-panel h3{margin:17px 0 5px;font-size:23px}.finish-panel p{color:var(--muted);margin:0 0 15px;font-size:13px}.share-actions{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:18px;display:grid}.share-actions>a,.share-actions>button{border-radius:3px;justify-content:center;align-items:center;min-height:45px;font-size:12px;font-weight:800;display:flex}.share-actions>button{background:#fff;border:1px solid #bfcac6}.share-actions .line-button{color:#fff;background:#06c755}.share-preview{color:var(--red);margin-top:14px;font-size:12px;text-decoration:underline;display:inline-block}.game-message{color:var(--red);margin:10px 0;font-size:13px}.below-content{border-top:1px solid var(--line);padding:72px 0 80px}.below-content h2,.archive-inner h2{letter-spacing:-.04em;margin:10px 0 23px;font-size:28px}.steps{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.steps article{border-top:2px solid var(--ink);padding:13px 0}.steps article span{color:var(--red);font-size:12px;font-weight:800}.steps article h3{margin:9px 0 5px;font-size:18px}.steps article p{color:var(--muted);margin:0;font-size:13px}.text-link{color:var(--red);margin-top:25px;font-size:13px;font-weight:800;display:inline-block}.archive-teaser{border-top:1px solid var(--line);background:#f5f6f2;padding:46px 0}.archive-inner{justify-content:space-between;align-items:center;gap:30px;display:flex}.archive-inner h2{margin-bottom:4px}.archive-inner p{color:var(--muted);margin:0;font-size:13px}.outline-button{border:1px solid var(--ink);justify-content:space-between;min-width:220px;padding:13px 20px;font-size:13px;font-weight:800;display:flex}.site-footer{color:#dce3e0;background:#162126;padding:36px 0 30px}.footer-inner{flex-direction:column;gap:15px;display:flex}.footer-brand{margin:0;font-weight:800}.footer-brand span{color:#a7b5b4;font-size:11px;font-weight:400}.footer-inner>div{gap:24px;font-size:12px;display:flex}.footer-inner small{color:#91a0a1;font-size:11px}.content-page{padding:45px 0 85px}.breadcrumbs{color:var(--muted);margin-bottom:20px;font-size:12px}.breadcrumbs a{text-decoration:underline}.content-page h1{letter-spacing:-.04em;margin:10px 0 12px;font-size:clamp(28px,3vw,40px);line-height:1.35}.lead{color:#57666a;max-width:760px;margin:0 0 32px}.content-card{border:1px solid var(--line);margin:22px 0;padding:26px}.content-card h2{margin:0 0 13px;font-size:20px}.content-card p{margin:0 0 11px}.team-groups{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.team-group{border:1px solid var(--line);padding:22px}.team-group h2{margin:0 0 14px;font-size:17px}.team-links{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.team-links a,.year-links a{border:1px solid var(--line);padding:9px 12px;font-size:13px;font-weight:700}.team-links a:hover,.year-links a:hover{border-color:var(--red);background:#fbf5f3}.year-links{flex-wrap:wrap;gap:8px;display:flex}.draft-table{border-collapse:collapse;width:100%;font-size:13px}.draft-table th,.draft-table td{border-bottom:1px solid var(--line);text-align:left;padding:10px}.draft-table th{color:#647174;background:#f3f5f2;font-size:11px}.table-scroll{overflow-x:auto}.source-note{color:var(--muted);margin-top:15px;font-size:11px}.shared-roster{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.shared-roster>div{border:1px solid var(--line);align-items:center;gap:14px;padding:11px 13px;display:flex}.shared-roster span{color:var(--red);min-width:52px;font-size:11px;font-weight:800}.shared-roster strong{font-size:14px}.shared-roster small{color:var(--muted);font-size:11px;display:block}@media (max-width:850px){.game-grid{grid-template-columns:1fr}.roster-panel{grid-row:2}.hero-ornament{opacity:.5;right:-20px}.site-header nav{gap:17px}}@media (max-width:600px){.container,.header-inner,.footer-inner{width:min(100% - 28px,1180px)}.site-header{height:64px}.brand-mark{width:34px;height:34px;font-size:18px}.brand strong{font-size:15px}.brand small{font-size:7px}.site-header nav{gap:12px;font-size:11px}.site-header nav a:nth-child(2){display:none}.hero{min-height:0}.hero-inner{padding:34px 0 33px}.hero h1{font-size:36px}.hero p{max-width:315px;font-size:13px}.hero-meta{flex-wrap:wrap;gap:11px;font-size:10px}.hero-meta b{font-size:13px}.hero-ornament{opacity:.4;border-width:6px;font-size:72px;top:78px;right:-26px}.game-section{padding:27px 0 45px}.game-grid{gap:19px}.game-heading h2,.roster-head h2{font-size:19px}.settings-trigger{padding:8px;font-size:11px}.draw-card{min-height:260px;padding:17px 17px 21px}.envelope{height:79px}.envelope strong{font-size:17px}.candidate-actions{grid-template-columns:1fr}.candidate-actions .pass-button{grid-column:auto}.settings-fields{grid-template-columns:repeat(2,1fr)}.settings-fields label:last-child{grid-column:1/-1}.settings-checks{flex-direction:column;gap:7px}.roster-panel{margin-top:0}.below-content{padding:52px 0}.below-content h2,.archive-inner h2{font-size:24px}.steps,.team-groups,.shared-roster{grid-template-columns:1fr}.steps{gap:12px}.archive-inner{display:block}.outline-button{margin-top:24px}.content-page{padding:28px 0 65px}.content-card{padding:17px}.roster-player small{font-size:9px}}.site-header nav a{align-items:center;min-height:44px;display:flex}.settings-trigger,.settings-head button,.candidate-actions .pass-button{min-height:44px}.settings-head button{min-width:44px}@media (max-width:600px){.hero p{font-size:14px}.draw-card p{font-size:13px}.candidate-actions{z-index:4;padding-bottom:calc(16px + env(safe-area-inset-bottom));position:sticky;bottom:0;box-shadow:0 -8px 20px #18232914}}.roster-name{color:#536165;padding:0 23px 14px;font-size:12px;font-weight:700;display:block}.roster-name input{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #cbd3d0;border-radius:3px;margin-top:5px;padding:7px 10px;display:block}.roster-row{text-align:left;background:#fff;border-top:0;border-left:0;border-right:0;width:100%;padding:0}.roster-row:disabled{opacity:1;cursor:default}.roster-row:not(:disabled):hover,.roster-row.active{background:#faf4f2}.roster-position{width:72px}.settings-checks{flex-wrap:wrap}.candidate-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-actions .primary-button,.candidate-actions .pass-button{grid-column:auto}.spin-history{border:1px solid var(--line);color:var(--muted);margin-top:18px;padding:12px 17px;font-size:12px}.spin-history summary{cursor:pointer;color:var(--ink);font-weight:800}.spin-history ol{max-height:180px;margin-bottom:0;padding-left:24px;overflow:auto}.spin-history li{padding:3px 0}.roster-list .roster-row:nth-child(10),.roster-list .roster-row:nth-child(12){border-top:2px solid var(--line)}@media (max-width:680px){.candidate-actions{grid-template-columns:1fr}.candidate-actions .primary-button,.candidate-actions .pass-button{grid-column:auto}}.candidate-inputs{grid-template-columns:2fr 1fr;gap:10px;padding:0 20px 15px;display:grid}.candidate-inputs label{color:#536165;font-size:12px;font-weight:700}.candidate-inputs input{width:100%;min-height:44px;color:var(--ink);background:#fff;border:1px solid #cbd3d0;border-radius:3px;margin-top:5px;padding:8px 11px;font-size:16px;display:block}@media (max-width:680px){.candidate-inputs{grid-template-columns:1fr}}.cloud-panel{border:1px solid var(--line);background:#fbfcfa;margin-top:18px;padding-bottom:18px}.cloud-panel>.panel-title{background:#fff}.cloud-panel>p,.cloud-panel>.game-message{margin:14px 20px;font-size:13px}.cloud-actions{flex-wrap:wrap;gap:8px;padding:0 20px;display:flex}.cloud-actions>*,.room-controls button,.room-board>button,.room-header button,.room-pick button{color:var(--ink);background:#fff;border:1px solid #bdc8c3;border-radius:3px;min-height:42px;padding:9px 12px;font-size:12px;font-weight:700}.cloud-actions>:hover,.room-controls button:hover,.room-pick button:hover{border-color:var(--red);color:var(--red)}.room-controls,.room-board{border-top:1px solid var(--line);margin:18px 20px 0;padding-top:15px}.room-controls h4,.room-board h4{margin:7px 0 10px;font-size:15px}.room-controls label,.room-pick label{color:#536165;margin-bottom:10px;font-size:12px;font-weight:700;display:block}.room-controls input,.room-controls select,.room-pick input,.room-pick select{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #cbd3d0;border-radius:3px;margin:4px 0 9px;padding:7px 10px;display:block}.room-controls button{margin:0 7px 10px 0}.room-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.room-board>p{color:var(--muted);font-size:12px}.room-members{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0;display:grid}.room-members>div{border:1px solid var(--line);background:#fff;padding:9px 10px;font-size:12px}.room-members strong,.room-members span{display:block}.room-members span{color:var(--muted);font-size:11px}.room-board .room-draw{color:var(--red);margin:15px 0;font-size:17px;font-weight:800}.room-pick{border:1px solid var(--line);background:#fff;margin:12px 0;padding:13px}.room-pick .candidate-list{max-height:180px;margin-bottom:12px}.room-pick .candidate-list button{border:0;border-bottom:1px solid var(--line);text-align:left;justify-content:space-between;width:100%;display:flex}.room-pick .candidate-list small{color:var(--muted)}.room-pick .primary-button,.room-board>.primary-button{background:var(--red);color:#fff;border-color:var(--red);margin-right:8px}.room-results{border:1px solid var(--line);background:#fff;margin:12px 0;padding:12px}.room-results p{margin:4px 0;font-size:12px}.room-board details{margin:15px 0;font-size:12px}.room-board details summary{cursor:pointer}.room-board details ol{padding-left:22px}@media (max-width:600px){.room-members{grid-template-columns:1fr}.room-header{flex-direction:column;align-items:flex-start}}.site-header nav .nav-room,.site-header nav .nav-account{color:var(--red)}.site-header nav .nav-account{border:1px solid var(--red);border-radius:3px;padding:0 12px}.cloud-overlay{z-index:100;background:#18232999;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.cloud-dialog{background:#fff;width:min(640px,100%);max-height:min(760px,100dvh - 36px);overflow:auto;box-shadow:0 24px 70px #0003}.cloud-dialog .cloud-panel{border:0;min-height:180px;margin:0}.cloud-dialog .panel-title{justify-content:space-between;align-items:center;gap:16px;display:flex}.cloud-close{color:var(--ink);background:0 0;border:0;min-width:44px;min-height:44px;font-size:28px;line-height:1}.cloud-tabs{border-bottom:1px solid var(--line);background:#fff;gap:20px;padding:0 20px;display:flex}.cloud-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:11px 0;font-size:13px;font-weight:700}.cloud-tabs button.active{border-color:var(--red);color:var(--red)}@media (max-width:700px){.site-header nav{gap:12px}.site-header nav .nav-archive,.site-header nav .nav-howto{display:none}}@media (max-width:600px){.header-inner,.site-header nav{gap:8px}.site-header nav .nav-account{padding:0 7px}.cloud-overlay{padding:8px}.cloud-dialog{max-height:calc(100dvh - 16px)}.room-members{grid-template-columns:1fr}}
