:root{--paper:#f7f7ef;--white:#fffefa;--ink:#334c40;--muted:#899183;--green:#526d4f;--line:#e3e5d8;--pink:#c98f79;--sage:#eaf0df;--serif:Georgia,'Batang',serif;--sans:'Malgun Gothic','Apple SD Gothic Neo',system-ui,sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.photo-label:focus-within{outline:3px solid #c4a35e;outline-offset:4px}button{color:inherit}h1,h2,h3,p{margin:0}img{max-width:100%;object-fit:cover}em{font-style:normal;color:#7d916b}small{font-size:11px}input,select{width:100%;padding:14px;border:1px solid #d8dfcf;border-radius:10px;background:var(--white);color:var(--ink);font-size:14px}input[type=file]{padding:0}button{border:0}svg{display:block}button,a{transition:background .2s,transform .2s}button:not(:disabled):active,.button:active{transform:translateY(1px)}
.site-header{height:91px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;max-width:1440px;padding:0 52px;margin:auto;gap:30px}.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;letter-spacing:-.4px}.brand small{display:block;font-size:8px;letter-spacing:2px;font-weight:500;color:#8b9680;margin-top:7px}.brand-mark{height:41px;width:41px;border-radius:50% 50% 42% 42%;background:#e2e8cc;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:16px;color:#657c52;transform:rotate(-7deg)}.brand-mark span{transform:translateY(5px)}nav{display:flex;gap:33px;font-size:12px;height:100%;align-items:center}nav a{height:100%;display:flex;align-items:center;color:#939b8c;position:relative}nav a.active{color:var(--ink);font-weight:700}nav a.active:after{content:'';position:absolute;height:3px;bottom:0;left:0;right:0;background:#718961;border-radius:3px}.admin-link{font-size:11px;color:#818b7d;display:flex;gap:7px;align-items:center}.admin-link span{font-size:16px}.display-main,.admin-main{max-width:1440px;padding:42px 52px 0;margin:0 auto}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:16px}.eyebrow{font-size:9px;letter-spacing:2.8px;font-weight:700;color:#8c9c78}.intro h1{font-size:31px;font-weight:500;letter-spacing:-1.5px;margin:13px 0}.intro p{font-size:12px;color:#8a9384;line-height:1.9}.title-flower{display:inline-block;color:#c5ad6b;margin-left:15px;font-size:32px;vertical-align:middle}.fullscreen-button{background:none;border:1px solid #dce1d2;border-radius:8px;padding:9px 12px;color:#89937f;font-size:20px;display:flex;align-items:center;gap:8px}.fullscreen-button span{font-size:10px}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 274px;gap:23px;align-items:start}.party-board{background:var(--white);border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 5px 24px #56644103}.board-top{padding:17px 23px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#919a88;border-bottom:1px solid #eff0e7}.board-top b{color:#667e54;font-size:12px}.status{display:inline-flex;align-items:center;gap:7px;background:#edf3e4;padding:7px 10px;border-radius:20px;color:#728a58;font-size:10px;font-weight:700}.status i,.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#8ca770}.status i{box-shadow:0 0 0 3px #e1ebd4}.status.paused{background:#f7eddc;color:#a38b5f}.status.paused i{background:#b79a67;box-shadow:none}.live-dot{width:4px;height:4px;margin-left:12px;margin-right:4px}.offline .live-dot{background:#c78c76}.scene{height:244px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,#edf0da 0%,#fcfbf3 65%);margin:0 20px}.bunting{display:flex;gap:7px;justify-content:center;position:absolute;top:7px;left:50%;transform:translateX(-50%) rotate(-2deg);width:340px;border-top:1px solid #cecdb8;padding-top:0}.bunting span{width:25px;height:34px;clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%);background:#dfe5c9;display:flex;justify-content:center;padding-top:6px;font-size:11px;color:#889773;font-family:var(--serif)}.bunting span:nth-child(2n){background:#f1dfbf;color:#ad956c}.bunting b{font-size:16px;padding:5px;color:#d4b672;font-weight:400}.baby-wrap{position:absolute;bottom:1px;left:50%;transform:translateX(-50%);width:210px;z-index:2}.baby-art{width:100%;filter:drop-shadow(0 4px 0 #aa956508);animation:baby-bob 4s ease-in-out infinite}.scene-note{position:absolute;left:8%;top:108px;transform:rotate(-7deg);font-family:var(--serif);font-size:13px;line-height:1.9;color:#a0ab8c;text-align:center}.scene-ground{position:absolute;height:19px;background:#e2d0a9;bottom:0;left:7%;right:7%;border-radius:50% 50% 4px 4px;box-shadow:0 7px 0 #cbba92}.flower{position:absolute;bottom:29px;color:#e1c383;font-size:49px;line-height:1;z-index:1}.flower i{height:36px;width:2px;background:#a0ad86;display:block;margin:auto}.flower i:after{content:'';position:absolute;width:15px;height:9px;border-radius:0 90%;background:#b0bc91;bottom:16px}.flower-one{left:21%;transform:rotate(-9deg);font-size:35px}.flower-two{right:17%;color:#d6a390}.rice-cake{position:absolute;bottom:14px;right:27%;width:52px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;z-index:3}.rice-cake i{display:block;width:17px;height:19px;background:#eee5ca;border:1px solid #ded1b2;border-radius:5px 5px 2px 2px}.rice-cake i:nth-child(2){height:30px;background:#edc4ac}.rice-cake span{font-size:10px;display:block;width:100%;background:#e4c8a1;text-align:center;padding:4px;border-radius:0 0 5px 5px}.scene-spark{position:absolute;color:#cabb7b;font-size:26px}.s1{top:85px;right:26%}.s2{top:57px;left:30%;font-size:17px}.baby-photo{position:relative;text-align:center;padding:8px}.baby-photo img{height:170px;width:170px;border-radius:50% 50% 42% 42%;border:8px solid #f9f2dc;box-shadow:0 4px 15px #79815d14}.baby-photo span{display:block;font-size:10px;padding:5px;color:#8d957e}
.table-section{padding:15px 22px 0}.section-caption{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:4px 0 13px;border-bottom:1px solid var(--line)}.section-caption span{font-weight:700}.section-caption small{color:#a2a897;font-size:9px}.item-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding-top:8px;gap:8px 9px}.item-station{text-align:center;min-width:0;position:relative;border-radius:9px;padding:6px 3px 0}.item-station.chosen{background:#edf1db;outline:1px solid #c1cfaa}.station-object{position:relative;height:51px;display:flex;align-items:center;justify-content:center}.item-art{width:52px;height:52px;flex-shrink:0}.vote-count{position:absolute;right:4px;top:3px;width:17px;height:17px;display:flex;align-items:center;justify-content:center;font-size:9px;background:#eff1e6;border-radius:50%;color:#829275}.item-station h3{font-size:11px;font-weight:700;margin:7px 0 4px}.item-station p{font-size:9px;color:#a0a793}.queue{display:flex;align-items:flex-end;justify-content:center;min-height:51px;padding:8px 0 6px;gap:0;flex-wrap:wrap;border-bottom:1px dashed #e4e7d9;margin-bottom:7px}.empty-queue{font-size:8px;color:#b1b9a7;align-self:center}.board-bottom{display:flex;gap:8px;justify-content:center;align-items:center;font-size:9px;color:#a4ad98;padding:14px;border-top:1px solid #f0f1e6;margin-top:6px;background:#fafbf4}.board-bottom>span{color:#b3b88d;font-size:16px}.rule-strip{margin-top:13px;padding:15px 20px;display:flex;align-items:center;gap:13px;background:#edf0e2;border-radius:10px}.rule-strip>span:first-child{font-size:27px;color:#8a9b71}.rule-strip p{font-size:11px;color:#738263;line-height:1.9}.rule-strip small{font-size:9px;color:#959f87}.little-pill{font-size:8px;border:1px solid #d1d9c3;border-radius:20px;padding:7px 9px;margin-left:auto;white-space:nowrap;color:#84916e}
.qr-card{padding:28px 24px 20px;border:1px solid var(--line);border-radius:16px;background:#f0f2e4;text-align:center;position:relative}.qr-card .eyebrow{font-size:8px;letter-spacing:2px}.qr-card h2{font-size:24px;line-height:1.5;font-weight:500;letter-spacing:-1px;margin:17px 0 12px}.qr-card>p{font-size:11px;line-height:1.8;color:#8d977e}.qr-wrap{margin:23px auto 15px;background:#fff;width:172px;height:172px;padding:9px;border-radius:12px;box-shadow:0 4px 12px #7f8b6520;position:relative}.qr-wrap img{width:100%;height:100%}.qr-instruction{display:block;font-size:10px;color:#7e8d6c;font-weight:500;margin-bottom:20px}.button{min-height:43px;border-radius:8px;font-size:12px;padding:13px 18px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:600;text-align:center}.button.primary{background:var(--green);color:#fffff5}.button.primary:hover:not(:disabled){background:#3d583b}.button.secondary{border:1px solid #d8dfcf;background:#fbfcf6}.button.danger{background:#f8e9e1;color:#a26b58;border:1px solid #e9d3c7}.qr-card .button{width:100%;justify-content:space-between;font-size:11px}.text-button{background:none;padding:10px 4px;font-size:10px;color:#8c987d;font-weight:500;display:inline-block}.text-button:hover{color:var(--ink)}.qr-card>.text-button{font-size:9px;margin-top:7px}.saved-note{padding-top:17px;margin-top:7px;border-top:1px solid #dce2cd;font-size:10px;color:#79876b;line-height:1.9}.saved-note>span{color:#6d8357}.saved-note small{font-size:9px;color:#9aa48a}.how-card{padding:25px 18px 10px}.how-card h3{font-size:12px;margin-bottom:19px}.how-card ol{list-style:none;padding:0;margin:0}.how-card li{display:flex;gap:13px;font-size:10px;color:#8c967e;margin:0 0 18px;line-height:1.5}.how-card li>span{font-family:var(--serif);color:#aabb93;font-size:13px}.how-card small{display:block;font-size:8px;margin-top:5px;color:#a3ab98}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{font-size:15px;font-weight:600}.section-heading h2 span{font-size:10px;margin-left:6px;color:#98a581}.section-heading>span{font-size:10px;color:#9aa38d}.family-section{padding-top:33px}.family-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:19px}.family-chip{display:flex;align-items:center;gap:8px;border:1px solid #e1e6d6;border-radius:8px;padding:9px 12px;background:#fafbf5}.family-chip b{font-size:10px;font-weight:500}.family-chip>span:last-child{font-size:8px;color:#a5ae97}.family-chip.voted{background:#edf2e3;border-color:#d6dfc7}.mini-face{display:flex;align-items:center;justify-content:center;height:23px;width:23px;overflow:hidden;border-radius:50%;color:#8a9974;background:#e5ead8;font-size:20px}.mini-face img{height:100%;width:100%}footer{max-width:1336px;margin:40px auto 0;padding:23px 0 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;color:#a5ad99;letter-spacing:.3px}footer>span{font-size:9px}
.character{width:69px;position:relative;display:flex;flex-direction:column;align-items:center;transform-origin:50% 95%;animation:sway 2.6s ease-in-out infinite;animation-delay:var(--delay);flex-shrink:0}.char-head{height:41px;width:41px;border-radius:50%;background:#f0d9b8;border:1.5px solid #b19b76;position:relative;z-index:2;overflow:hidden}.char-head img{width:100%;height:100%;object-fit:cover}.char-hair{position:absolute;width:110%;height:18px;border-radius:50%;background:#615b48;left:-5%;top:-9px}.char-eyes{position:absolute;top:9px;left:7px;color:#655b46;font-size:15px;letter-spacing:4px;white-space:nowrap}.char-smile{position:absolute;width:9px;height:5px;border-bottom:1.5px solid #b38069;border-radius:50%;top:27px;left:15px}.char-body{width:42px;height:43px;margin-top:-3px}.char-name{font-size:10px;white-space:nowrap;line-height:1.5;background:#fffdf4c9;border-radius:4px;padding:0 3px;color:#69795d}.character.small{width:34px}.small .char-head{width:23px;height:23px;border-width:1px}.small .char-hair{height:11px;top:-5px}.small .char-eyes{font-size:8px;letter-spacing:1px;left:5px;top:6px}.small .char-smile{width:5px;top:14px;left:8px;height:4px}.small .char-body{width:23px;height:24px}.small .char-name{font-size:7px}.queue:has(.character){min-height:71px}.queue .character{margin-right:-2px}
.join-main{max-width:640px;margin:0 auto;padding:43px 22px}.join-intro{text-align:center;margin:10px 0 30px}.join-intro h1{font-size:29px;font-weight:500;line-height:1.6;letter-spacing:-1.3px;margin:15px 0}.join-intro p{font-size:13px;color:#939d85}.form-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:25px;margin-bottom:18px}.form-card h2{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:600;margin-bottom:19px}.step-number{height:25px;width:25px;display:inline-flex;justify-content:center;align-items:center;background:#e9efdf;border-radius:50%;font-size:11px;color:#7d9267;flex-shrink:0}.field-label{display:block;font-size:11px;margin:15px 0 8px;color:#87967b}.hint{font-size:10px!important;color:#a0a993!important;line-height:1.8!important;margin-top:12px!important}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.choice{position:relative;display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);padding:16px 6px 12px;border-radius:10px;cursor:pointer;transition:background .2s,border .2s}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice:has(input:focus-visible){outline:3px solid #c4a35e}.choice .item-art{height:57px;width:57px}.choice b{font-size:12px;margin:8px 0 5px}.choice>span{font-size:10px;color:#9da68d}.choice>i{display:none;position:absolute;right:8px;top:7px;font-size:12px;color:#71895a}.choice.selected{border-color:#82966a;background:#f0f4e6;box-shadow:0 0 0 1px #82966a}.choice.selected>i{display:block}.vote-submit{text-align:center;padding:7px 0}.vote-submit p{font-size:11px;color:#8b987c;margin-bottom:15px}.vote-submit .button{width:100%;min-height:51px;font-size:14px}.vote-submit small{display:block;font-size:9px;color:#a0a993;margin:14px 0;line-height:1.8}.success-card,.login-card{text-align:center;padding:40px 32px;background:var(--white);border:1px solid var(--line);border-radius:18px}.success-check{display:flex;width:53px;height:53px;align-items:center;justify-content:center;background:#edf3e1;color:#82986b;border-radius:50%;margin:0 auto 22px;font-size:27px}.success-card h1,.login-card h1{font-size:27px;line-height:1.5;letter-spacing:-1px;font-weight:500;margin:18px 0}.chosen-item{margin:28px auto 13px;padding:20px;background:#f6f6eb;border-radius:12px;max-width:260px}.chosen-item .item-art{width:75px;height:75px;margin:auto}.chosen-item h2{font-size:19px;margin:8px 0}.chosen-item p{font-size:11px;color:#96a084}.success-card>.character{margin:16px auto}.success-description{font-size:12px;line-height:2;color:#8d977f;margin:24px 0}.success-description b{font-weight:500;color:#667e53}.success-card>.button{display:flex;max-width:330px;margin:23px auto 5px}.success-card>.baby-art{width:170px;margin:auto}.success-card>p{font-size:13px;line-height:1.9;color:#8d977f}.login-card{max-width:430px;margin:auto;text-align:left}.login-symbol{font-size:29px;color:#83976a;display:block;margin-bottom:24px}.login-card>p{font-size:12px;color:#9aa38c;margin-bottom:24px}.login-card .button{width:100%;margin-top:18px}.admin-main{max-width:1250px}.admin-summary{display:flex;align-items:center;gap:25px;background:#e9eedf;padding:18px 23px;border-radius:10px;margin-bottom:22px;font-size:12px}.admin-summary>a{margin-left:auto;color:#899978;font-size:11px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-grid .form-card{margin:0}.admin-grid .form-card>p,.form-card>p{font-size:12px;color:#929d83;line-height:1.9;margin-bottom:15px}.button-row{display:flex;gap:10px}.admin-items{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.admin-items button{background:#f6f7ef;border:1px solid #e4e7d9;border-radius:8px;font-size:10px;padding:7px 0 9px;display:flex;align-items:center;flex-direction:column;gap:3px}.admin-items button.selected{background:#e5edda;border-color:#90a578}.admin-items .item-art{width:36px;height:36px}.result-selection{margin-top:16px;color:#698451!important}.admin-grid #url-form button{margin-top:13px}.photos-card{margin-top:20px}.photo-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:23px 10px;margin-top:26px}.photo-person{text-align:center}.photo-label{cursor:pointer;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden;border-radius:8px}.photo-label>span{height:53px;width:53px;background:#edf0e1;border:1px dashed #c9d3ba;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:23px;color:#a3b090;overflow:hidden}.photo-label img{width:100%;height:100%}.photo-label>b{font-size:10px;margin-top:9px;font-weight:500}.photo-label input{position:absolute;opacity:0;inset:0;cursor:pointer}.photo-person>small{font-size:8px;color:#b0b79f;display:block;margin-top:7px}.photo-person>.text-button{font-size:8px;padding:7px 0}.vote-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0 25px}.vote-list>div{display:flex;align-items:center;gap:10px;border-bottom:1px solid #eff1e6;padding:10px 0;font-size:11px;min-height:49px}.vote-list b{font-weight:500}.vote-list span{color:#97a285;font-size:10px}.vote-list button{margin-left:auto;font-size:9px}.reset-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px 25px;border:1px dashed #d8d5c4;border-radius:12px}.reset-card h3{font-size:13px;margin-bottom:9px}.reset-card p{font-size:10px;color:#9ba28d}.result-banner{padding:14px;text-align:center;background:#edf2df;font-size:12px;color:#7b8e65}
.race-scene{padding:30px 20px 20px;min-height:490px;background:linear-gradient(#fbfcf5,#f2f4e6)}.race-heading{text-align:center}.race-heading h2{font-size:25px;font-weight:500;margin:15px 0}.race-heading p{font-size:11px;color:#96a284}.race-heading strong{display:block;margin:20px 0;font-size:18px;color:#8c9c65;font-weight:500}.racetrack{position:relative;padding:0 37px 0 15px;border:1px solid #dce2ca;border-radius:10px;background:#f8f7e8;overflow:hidden}.race-lane{height:68px;position:relative;border-bottom:1px dashed #d3dcc0;display:flex;align-items:center}.race-lane:last-child{border:0}.lane-name{font-size:8px;color:#a5ad95;width:35px;flex-shrink:0}.lane-course{position:relative;flex:1;margin:0 35px 0 9px;height:100%}.runner{position:absolute;bottom:7px;transform:translateX(-50%);will-change:left}.runner .character{animation:none}.runner.running .character{animation:run .24s linear infinite}.runner.running .char-body{animation:legs .15s ease-in-out infinite alternate;transform-origin:50% 0}.runner .char-name{font-size:8px}.finish-line{position:absolute;right:62px;top:0;bottom:0;width:10px;background:repeating-conic-gradient(#84916c 0% 25%,#f8f7e8 0% 50%) 0/10px 10px;opacity:.6}.race-caption{text-align:center;font-size:10px;color:#9aa486;margin-top:21px}.winner-scene{position:relative;overflow:hidden;min-height:540px;text-align:center;padding:55px 20px;background:radial-gradient(ellipse,#f3f0d6,#fbfcf4 70%)}.winner-scene h2{font-size:28px;font-weight:500;letter-spacing:-1px;margin:19px 0 30px}.winner-character{position:relative;display:flex;justify-content:center;align-items:center;height:184px}.winner-character .character{transform:scale(1.75);animation:winner-bob 2s ease-in-out infinite}.winner-character .char-name{display:none}.crown{position:absolute;top:-23px;left:calc(50% - 22px);font-size:45px;color:#c1a15d;z-index:5;transform:rotate(-10deg)}.winner-scene h3{font-size:26px;color:#697f50;letter-spacing:-1px;margin:4px 0 17px}.winner-scene h3 span{font-size:17px;font-weight:400;margin-left:7px;color:#8a9675}.winner-scene>p{font-size:11px;color:#939e81;line-height:2}.winner-note{margin-top:30px;font-size:11px;color:#9da78b}.confetti{position:absolute;inset:0;pointer-events:none}.confetti i{position:absolute;top:-20px;left:var(--x);width:6px;height:12px;background:var(--c);transform:rotate(var(--r));animation:confetti 6s linear infinite;animation-delay:var(--d);opacity:.7}
#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,25px);background:#4e694b;color:white;padding:15px 23px;border-radius:10px;font-size:12px;box-shadow:0 6px 25px #41563720;opacity:0;pointer-events:none;transition:.2s;z-index:99;max-width:90vw;text-align:center;line-height:1.7}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.bad{background:#9d6957}.error-screen{text-align:center;padding:100px 20px}.error-screen h1{font-size:25px;font-weight:500;margin-bottom:20px}.error-screen p{color:#8d997e;font-size:13px;margin-bottom:25px}
@keyframes sway{0%,100%{rotate:-4deg}50%{rotate:4deg;translate:0 -2px}}@keyframes baby-bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-3px) rotate(1deg)}}@keyframes run{0%,100%{translate:0 0;rotate:-6deg}50%{translate:0 -3px;rotate:6deg}}@keyframes legs{from{transform:skewX(-13deg)}to{transform:skewX(13deg)}}@keyframes winner-bob{0%,100%{transform:scale(1.75) rotate(-3deg)}50%{transform:scale(1.75) rotate(3deg) translateY(-5px)}}@keyframes confetti{to{top:110%;transform:rotate(calc(var(--r) + 360deg))}}
@media(min-width:1600px){.display-main{max-width:1560px}.site-header{max-width:1560px}.dashboard{grid-template-columns:minmax(0,1fr) 300px}.scene{height:270px}.baby-wrap{width:233px}.item-art{width:59px;height:59px}.station-object{height:60px}.queue{min-height:60px}}
@media(max-width:1150px){.site-header{padding:0 28px}.display-main,.admin-main{padding:30px 28px 0}.dashboard{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.intro h1{font-size:27px}.qr-card{padding:25px 16px}.item-grid{gap:5px}.table-section{padding:12px 14px 0}.scene-note{left:4%;font-size:11px}.flower-one{left:15%}.flower-two{right:12%}.rice-cake{right:20%}.empty-queue{font-size:7px}.little-pill{display:none}footer{margin:35px 28px 0}.photo-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:850px){.site-header{height:77px;padding:0 23px;gap:20px}.brand{font-size:12px}.brand small{font-size:7px;letter-spacing:1.2px}nav{gap:20px;font-size:10px}.admin-link{font-size:10px}.dashboard{grid-template-columns:minmax(0,1fr) 205px;gap:13px}.qr-card{padding:24px 12px 15px}.qr-card h2{font-size:21px}.qr-wrap{width:148px;height:148px}.scene{height:220px;margin:0 8px}.baby-wrap{width:184px}.scene-note{font-size:9px;top:90px;left:2%}.flower-one{left:13%;font-size:28px}.flower-two{right:11%;font-size:36px}.rice-cake{right:17%;width:42px}.rice-cake i{width:14px}.item-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.intro h1{font-size:24px}.intro p{font-size:11px}.title-flower{font-size:26px;margin-left:8px}.intro{margin-bottom:23px}.board-top{padding:13px}.board-top>span:last-child{font-size:9px}.section-caption small{font-size:8px}.side-panel .how-card{padding-left:9px;padding-right:0}.admin-grid{grid-template-columns:1fr 1fr}.vote-list{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:repeat(5,1fr)}.section-heading>span{font-size:9px}}
@media(max-width:650px){.site-header{height:73px;padding:0 19px}.brand{font-size:12px;gap:9px}.brand-mark{height:34px;width:34px;font-size:13px}.brand small{font-size:6px;letter-spacing:1.4px}.site-header nav{display:none}.admin-link{font-size:10px}.display-main,.admin-main{padding:29px 17px 0}.intro h1{font-size:25px;line-height:1.5;margin-top:11px}.intro h1 em{display:inline}.intro p{font-size:11px;max-width:310px;word-break:keep-all}.title-flower{display:none}.eyebrow{font-size:8px;letter-spacing:2px}.fullscreen-button{padding:6px 9px;align-self:flex-start;margin-top:20px}.fullscreen-button span{display:none}.dashboard{grid-template-columns:1fr}.side-panel{display:grid;grid-template-columns:1fr}.qr-card{margin-top:7px;padding:25px 21px;display:grid;grid-template-columns:1fr 140px;text-align:left;gap:0 12px}.qr-card .eyebrow{grid-column:1;grid-row:1}.qr-card h2{grid-column:1;grid-row:2;margin:12px 0 8px;font-size:23px}.qr-card>p{grid-column:1;grid-row:3;font-size:10px}.qr-wrap{grid-column:2;grid-row:1/4;width:135px;height:135px;margin:12px 0 0;padding:7px}.qr-instruction{grid-column:2;grid-row:4;text-align:center;font-size:8px;margin:9px 0 15px}.qr-card .button{grid-column:1/3;grid-row:5;margin-top:4px}.qr-card>.text-button{grid-column:1/3;text-align:center}.saved-note{grid-column:1/3;text-align:center;margin-top:0;padding-top:12px}.how-card{display:none}.scene{height:218px}.bunting{width:300px;gap:5px}.bunting span{width:23px;height:30px;font-size:10px}.baby-wrap{width:191px}.scene-note{left:2%;font-size:9px;top:100px}.rice-cake{right:14%}.flower-two{right:6%}.flower-one{left:10%}.s1{right:21%;font-size:20px}.s2{left:23%}.item-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px 3px}.item-station{padding-left:0;padding-right:0}.station-object{height:48px}.item-art{width:47px;height:47px}.table-section{padding:12px 13px 0}.vote-count{right:3px;width:15px;height:15px}.queue{min-height:47px}.item-station h3{font-size:10px}.item-station p{font-size:8px}.rule-strip{padding:14px}.rule-strip small{font-size:8px}.family-section{padding-top:27px}.section-heading{align-items:flex-start}.section-heading h2{font-size:13px}.family-section .section-heading>span{max-width:100px;text-align:right;font-size:8px;line-height:1.7}.family-list{gap:7px;margin-top:15px}.family-chip{padding:7px 9px;gap:6px}.family-chip b{font-size:9px}.family-chip>span:last-child{font-size:7px}.mini-face{height:19px;width:19px;font-size:17px}footer{margin:30px 18px 0;padding:22px 0;display:block;text-align:center;line-height:2.2;font-size:8px}footer>span{display:block;font-size:8px}.join-main{padding:30px 17px}.join-intro{margin:0 0 25px}.join-intro h1{font-size:26px}.join-intro p{font-size:11px}.form-card{padding:21px 17px}.form-card h2{font-size:14px}.choice-grid{gap:9px}.choice{padding:12px 3px}.choice .item-art{width:52px;height:52px}.choice b{font-size:11px}.choice>span{font-size:9px}.success-card,.login-card{padding:30px 23px}.success-card h1,.login-card h1{font-size:24px}.admin-grid{grid-template-columns:1fr}.admin-summary{padding:14px 12px;gap:12px;flex-wrap:wrap}.admin-summary>b{font-size:10px}.admin-summary>a{font-size:9px}.photo-grid{grid-template-columns:repeat(4,1fr);gap:22px 8px}.photos-card .section-heading{display:block}.photos-card .section-heading>span{font-size:9px;line-height:1.7;display:block}.vote-list{grid-template-columns:1fr 1fr;gap:0 15px}.vote-list>div{gap:6px;font-size:10px}.vote-list span{font-size:9px}.vote-list button{font-size:8px}.reset-card{padding:19px;display:block}.reset-card p{line-height:1.9;margin-bottom:14px}.reset-card .button{font-size:11px}.race-scene{padding:28px 12px 19px}.race-heading h2{font-size:23px}.racetrack{padding:0 20px 0 8px}.lane-name{width:27px;font-size:7px}.lane-course{margin-left:8px;margin-right:20px}.finish-line{right:36px}.winner-scene{padding:45px 12px;min-height:490px}.winner-scene h2{font-size:24px}.winner-scene>p{font-size:10px}.winner-note{font-size:9px}.result-banner{font-size:10px;line-height:1.7}.error-screen h1{font-size:21px}.error-screen p{font-size:12px;line-height:1.9}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.winner-character .character{transform:scale(1.75)}}
.qr-card h2{word-break:keep-all}.racetrack.dense .race-lane{height:48px}.racetrack.dense .runner{bottom:0}.racetrack.dense .character{scale:.75;transform-origin:bottom center}.racetrack.dense .lane-name{font-size:10px;color:#758567}
:is(:fullscreen, .presentation) .site-header,:is(:fullscreen, .presentation) footer,:is(:fullscreen, .presentation) .family-section,:is(:fullscreen, .presentation) .rule-strip,:is(:fullscreen, .presentation) .how-card{display:none}:is(:fullscreen, .presentation) .display-main{padding:15px 25px;max-width:1800px}:is(:fullscreen, .presentation) .intro{margin-bottom:12px;min-height:35px}:is(:fullscreen, .presentation) .intro .eyebrow,:is(:fullscreen, .presentation) .intro p{display:none}:is(:fullscreen, .presentation) .intro h1{font-size:20px;margin:0}:is(:fullscreen, .presentation) .intro .title-flower{font-size:23px}:is(:fullscreen, .presentation) .fullscreen-button{margin:0;align-self:center}:is(:fullscreen, .presentation) .scene{height:205px}:is(:fullscreen, .presentation) .baby-wrap{width:187px}:is(:fullscreen, .presentation) .race-scene{padding:18px 18px 14px}:is(:fullscreen, .presentation) .race-heading h2{font-size:24px;margin:11px 0}:is(:fullscreen, .presentation) .race-heading strong{margin:13px 0}:is(:fullscreen, .presentation) .race-lane{height:clamp(40px,calc((100dvh - 345px)/var(--racers)),80px)}:is(:fullscreen, .presentation) .winner-scene{min-height:650px;display:flex;flex-direction:column;justify-content:center}:is(:fullscreen, .presentation) .winner-character{min-height:190px}
@media(max-width:650px){.qr-card h2{font-size:20px}.racetrack.dense .lane-name{font-size:8px}:is(:fullscreen, .presentation) .display-main{padding:15px}:is(:fullscreen, .presentation) .intro h1{font-size:18px}}
@media(min-width:900px){:is(:fullscreen, .presentation) .racetrack.dense{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px}:is(:fullscreen, .presentation) .racetrack.dense .finish-line{display:none}:is(:fullscreen, .presentation) .racetrack.dense .race-lane{height:clamp(38px,calc((100dvh - 345px)/var(--race-rows)),70px)}:is(:fullscreen, .presentation) .racetrack.dense .race-lane:after{content:'';position:absolute;right:31px;top:0;bottom:0;width:8px;background:repeating-conic-gradient(#84916c 0% 25%,#f8f7e8 0% 50%) 0/8px 8px;opacity:.6}}
@media print{.site-header,footer,.main-column,.family-section,.intro,.how-card,.qr-card .button,.qr-card .text-button{display:none}.dashboard{display:block}.qr-card{display:block;width:350px;margin:50px auto;text-align:center}.qr-wrap{width:230px;height:230px;margin:25px auto}.qr-card h2{margin:20px 0}.qr-instruction{display:block}.side-panel{display:block}}
