:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;color:#252923;background:#f7f7f3;font-synthesis:none;--line:#e1e4dc;--muted:#71766d;--accent:#f3d663;--event:#e8e1f8;--radius:14px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #6b784e;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #8b9258;outline-offset:2px}img{display:block;max-width:100%}.icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:24px;letter-spacing:-.8px;margin:0}h2{font-size:18px;letter-spacing:-.4px;margin:0 0 18px}h3{font-size:16px;margin:0}p{line-height:1.7}.muted,.form-hint{color:var(--muted)}.form-hint{font-size:13px;line-height:1.7;margin:14px 0 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.shell{max-width:920px;margin:auto;min-height:100dvh;padding:0 28px 40px}.shell.admin{max-width:1280px}.app-header{height:80px;display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:9px}.brand-icon{width:35px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--accent)}.brand-icon .icon{width:25px;height:25px}.brand strong{font-size:17px;letter-spacing:-.7px}.brand small{display:block;font-size:8px;letter-spacing:1.8px;margin-top:3px;color:var(--muted)}.profile-button{display:flex;align-items:center;gap:5px;border:0;background:transparent;font-size:13px;padding:8px 0}.profile-button .icon{width:14px;height:14px}.primary-nav{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px}.nav-item{flex:1;display:flex;justify-content:center;align-items:center;gap:8px;padding:15px 12px;border-radius:10px;border:1px solid var(--line);background:white;font-size:15px;font-weight:700;min-height:52px}.nav-item.active{background:var(--accent);border-color:#debf54}.event-space .nav-item.active{background:var(--event);border-color:#c6b5df}.admin .nav-item{font-size:14px;min-height:48px;padding:12px}.pending-pill{border-radius:20px;background:#252923;color:white;font-size:11px;padding:1px 6px}.main{min-width:0}.prototype-note{font-size:11px;color:#877942;margin:0 0 18px}.page-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin:0 0 22px}.page-heading p{font-size:14px;color:var(--muted);margin:8px 0 0}.subnav,.admin-subtabs,.auth-switch{display:flex;gap:6px;margin-bottom:22px}.subnav button,.tab-chip,.auth-switch button{flex:1;min-height:43px;border:1px solid var(--line);border-radius:8px;background:transparent;padding:10px 12px;font-size:14px;white-space:nowrap}.subnav button.active,.tab-chip.active,.auth-switch button.active{background:#2e372e;color:white;border-color:#2e372e}.event-space .subnav button.active{background:#65507f;border-color:#65507f}.auth-switch button{font-weight:600}.content-card,.order-card,.pending-order,.basket{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.narrow{max-width:700px}.login-card,.staff-login{max-width:420px;margin:50px auto}.login-card h1{font-size:22px;line-height:1.5}.login-card>.form-hint{margin:12px 0 26px}.staff-login h1{margin-bottom:24px}.staff-login-footer{font-size:12px;text-align:center;color:var(--muted);margin-top:20px}.field{display:flex;flex-direction:column;gap:8px;margin:0 0 18px}.field label{font-size:14px;font-weight:600}.field input,.field select,.field textarea{width:100%;min-height:48px;background:#fff;border:1px solid #cfd5c9;border-radius:8px;padding:12px;font-size:16px}.field input[readonly]{background:#f4f5f0}.field textarea{min-height:110px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 18px;border:1px solid #dbbe54;border-radius:9px;font-size:14px;font-weight:700;background:var(--accent)}.primary-button:hover{filter:brightness(.97)}.secondary-button{border-color:#ccd2c5;background:white}.event-space .primary-button{background:#65507f;border-color:#65507f;color:white}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;font-size:13px;padding:5px 0;text-decoration:underline;text-underline-offset:3px}.full{width:100%}.icon-button{display:grid;place-items:center;border:0;background:#f1f3ec;border-radius:6px;width:32px;height:32px}.button-row,.admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start}.product-list{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.product-row{display:flex;align-items:center;gap:14px;padding:18px 16px;border-bottom:1px solid var(--line)}.product-row:last-child{border-bottom:0}.product-row>img{width:54px;height:54px;object-fit:contain;border-radius:10px;background:#f6f0df}.product-info{flex:1;min-width:0}.product-info h2{font-size:15px;margin:0 0 5px}.product-info strong{font-size:14px;font-weight:600}.product-info small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.product-count{display:flex;align-items:center;gap:10px}.product-count>span{min-width:16px;text-align:center;font-size:15px;font-weight:600}.quantity-button{width:36px;height:38px;background:#fff;border:1px solid #cfd5c9;border-radius:8px;display:grid;place-items:center}.quantity-button .icon{width:16px;height:16px}.basket{position:sticky;top:20px;padding:20px}.basket-items{margin:12px 0}.basket-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);gap:8px}.basket-item strong{display:block;font-size:14px}.basket-item span{display:block;font-size:13px;color:var(--muted);margin-top:5px}.basket-total,.form-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:20px 0;gap:12px;font-size:14px}.basket-total strong,.form-total strong{font-size:22px}.mobile-cart{display:none}.reservation-result{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.order-card{margin-bottom:16px}.order-top,.pending-title{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.order-lines{display:flex;flex-direction:column;gap:10px;margin:22px 0;font-size:14px}.order-line{display:flex;justify-content:space-between;gap:14px}.order-line>span:last-child{white-space:nowrap}.order-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;gap:12px;font-size:12px;color:var(--muted)}.order-bottom strong{font-size:20px;color:#252923}.status{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;background:#fff2c8;color:#755c16;padding:6px 8px;border-radius:6px;font-size:12px}.status .icon{width:14px;height:14px}.status.approved{background:#e8f1e6;color:#4e714c}.status.cancelled{background:#efefeb;color:#73766a}.callout{margin:18px 0 0;padding:15px;background:#f1f5ed;border-radius:8px;font-size:13px;line-height:1.7;display:flex;align-items:flex-start;flex-direction:column;gap:7px}.empty-state{padding:40px 20px;text-align:center;background:white;border:1px dashed #cdd3c4;border-radius:var(--radius)}.empty-state>.icon{width:30px;height:30px;color:var(--muted);margin-bottom:14px}.empty-state h2{font-size:16px;margin-bottom:12px}.empty-state p{font-size:13px;color:var(--muted)}
.event-stats{display:grid;grid-template-columns:1fr 1fr;background:#f0ecf7;border:1px solid #ddd3eb;border-radius:var(--radius);margin-bottom:20px;padding:22px}.event-stats>div{padding:0 18px}.event-stats>div+div{border-left:1px solid #d8cce7}.event-stats span{font-size:13px;color:#6e5d82;display:block;margin-bottom:8px}.event-stats strong{font-size:32px;letter-spacing:-1px}.event-stats small{font-size:14px;margin-left:5px;font-weight:500}.dice-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dice-stage,.reward-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.dice-stage{text-align:center}.dice-stage h2{font-size:18px}.dice-visual{height:142px;display:grid;place-items:center}.big-dice{height:90px;width:90px;border:1px solid #c4b5d4;border-radius:17px;background:#fff;box-shadow:5px 6px 0 #ded3ec;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:6px;padding:18px;transform:rotate(-8deg)}.big-dice i{border-radius:50%}.big-dice i.dot{background:#6d5685}.rolling .big-dice{animation:tumble .25s infinite}.dice-result{font-size:14px;min-height:24px;margin:12px 0 20px}.reward-card>p{font-size:14px;color:var(--muted)}.reward-target{font-size:17px;font-weight:700;margin-top:30px;color:#675080}.progress{height:8px;background:#ebe7f2;border-radius:20px;overflow:hidden;margin:18px 0 24px}.progress>span{height:100%;display:block;background:#9a83b6;transition:width .4s}.reward-history,.ranking-neighbors{margin-top:20px}.reward-item{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.reward-item span{font-size:12px;color:var(--muted)}.leaders{padding:0;list-style:none;margin:20px 0 0}.leaders li,.rank-row{display:flex;align-items:center;gap:16px;padding:17px 12px;border-bottom:1px solid var(--line);font-size:14px}.leaders li:last-child,.rank-row:last-of-type{border-bottom:0}.leaders strong,.rank-row strong{flex:1}.rank-number{font-weight:700;color:#6f597f;min-width:32px}.me{background:#f2ecfa;border-radius:8px}.draw-prompt,.order-success{text-align:center}.draw-icon{display:grid;place-items:center;margin:10px auto 22px;width:72px;height:72px;border-radius:50%;background:#efe9f7}.draw-icon .icon{width:38px;height:38px}.draw-prompt>p,.order-success>p{font-size:14px;color:var(--muted);line-height:1.8}.draw-prompt .primary-button{margin-top:20px}.reward-reveal{margin:25px 0}.success-icon{width:55px;height:55px;background:#eef4e9;border-radius:50%;display:grid;place-items:center;margin:10px auto;color:#5e7b4c}.success-box{padding:20px;background:#f5f4ed;border-radius:10px;line-height:1.8;margin:20px 0;font-size:13px}.success-box strong{display:block;font-size:28px;margin:10px 0}
.staff-stock-bar{display:flex;align-items:flex-start;gap:20px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:24px;font-size:12px}.staff-stock-bar>strong{white-space:nowrap}.staff-stock-bar>div{display:flex;flex-wrap:wrap;gap:10px 20px;color:var(--muted)}.staff-stock-bar b{color:#41483c;font-weight:600;margin-right:5px}.screen-help{font-size:13px;color:var(--muted);margin:0 0 22px}.screen-help summary{cursor:pointer;width:fit-content}.screen-help p{max-width:740px;margin:12px 0;padding:14px;background:#eeefe8;border-radius:8px}.admin-subtabs{justify-content:flex-start;flex-wrap:wrap}.admin-subtabs .tab-chip{flex:0 1 auto;min-height:40px}.order-queue{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.pending-title h3{font-size:18px}.pending-title small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:6px}.order-controls{display:flex;gap:10px;margin-top:22px}.order-controls .primary-button{flex:1}.order-controls .secondary-button{color:#80554d}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:white}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left;white-space:nowrap}th,td{padding:16px;border-bottom:1px solid var(--line)}th{font-weight:600;background:#f1f3ed;color:#68715f}tr:last-child td{border-bottom:0}td .secondary-button{padding:8px 12px;min-height:36px;font-size:12px}.history-section{margin-top:24px}.history-section>summary{padding:16px 0;font-size:16px;font-weight:700;cursor:pointer}.history-section .table-wrap{margin-top:12px}.history-section h2{margin-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 20px}.section-heading>span{font-size:12px;color:var(--muted)}.section-heading h2{margin:0}.inventory-milk{margin:24px 0}.qty-input{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.qty-input label{font-weight:600}.qty-input small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:5px}.qty-input input{width:75px;min-height:44px;text-align:center;border:1px solid #cfd5c9;border-radius:8px;font-size:16px;background:white}.form-total{margin-top:10px;border-top:0}.memo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.memo-card{padding:22px;border:1px solid var(--line);border-radius:10px;background:white}.memo-card p{white-space:pre-wrap;margin:0 0 18px;font-size:14px}.memo-card footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.avatar{display:none}.shift-name{display:flex;align-items:center}.history-section h2{font-size:18px}.inline-tag{font-size:12px;color:var(--muted)}
.overlay{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:22px;background:#20251b60}.modal{position:relative;max-height:90dvh;overflow:auto;width:440px;background:white;border-radius:18px;padding:30px;padding-top:45px;box-shadow:0 20px 60px #0002}.modal.wide{width:600px}.modal h2{font-size:22px;margin:0 0 18px}.modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:50%;background:#f0f2eb}.modal-description,.confirm-detail{font-size:14px;line-height:1.8;color:var(--muted)}.auth-logo{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-bottom:18px}.auth-logo>.icon{width:17px;height:17px}.error-message{padding:12px;border-radius:8px;background:#fff0ec;color:#9a3e2b;font-size:13px;line-height:1.7}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;width:max-content;max-width:calc(100% - 32px);padding:14px 18px;background:#2e372e;color:white;border-radius:10px;box-shadow:0 6px 30px #0002;font-size:13px;display:flex;align-items:center;gap:10px;animation:fadein .2s}.toast.error{background:#8c493c}.toast .icon{width:18px;height:18px}.spinner{display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.initial-loading,.connection-error,.system-loading{padding:70px 24px;text-align:center}.initial-loading{display:flex;min-height:100dvh;align-items:center;justify-content:center;flex-direction:column;gap:14px}.connection-error{max-width:600px;margin:auto}.connection-error .brand{justify-content:center;margin-bottom:40px}.connection-error h1{font-size:23px}.connection-error p{color:var(--muted);font-size:14px}.connection-error .primary-button{margin-top:20px}.label-kicker{font-size:12px;color:var(--muted)}
@keyframes tumble{0%{transform:rotate(-8deg)}50%{transform:rotate(18deg) translateY(-8px)}100%{transform:rotate(-8deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadein{from{opacity:0}to{opacity:1}}
@media(min-width:1000px){.admin .staff-stock-bar{position:sticky;top:0;z-index:10;background:#fffef9}}
@media(max-width:800px){.shell{padding:0 18px 110px}.app-header{height:70px}.primary-nav{margin-bottom:22px;padding-bottom:14px}.primary-nav .nav-item{font-size:15px;padding:13px 10px}.page-heading h1{font-size:22px}.page-heading p{font-size:13px}.shop-layout{grid-template-columns:1fr}.desktop-basket{display:none}.product-row{padding:16px 14px}.mobile-cart{display:flex;justify-content:space-between;align-items:center;gap:10px;position:fixed;z-index:30;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 36px);max-width:650px;padding:18px;border:1px solid #dbbe54;border-radius:12px;background:var(--accent);box-shadow:0 6px 25px #0002;font-size:13px}.mobile-cart strong{display:flex;align-items:center;gap:6px;font-size:14px}.mobile-cart .icon{width:16px;height:16px}.content-card,.order-card,.pending-order{padding:20px}.dice-layout{grid-template-columns:1fr}.event-stats{padding:20px 8px}.event-stats>div{padding:0 20px}.reward-target{margin-top:22px}.reward-card{padding:24px}.admin .primary-nav{gap:5px;overflow:auto}.admin .nav-item{flex:1 0 auto;font-size:12px;gap:0;min-height:44px;padding:12px 10px}.admin .nav-item>.icon{display:none}.admin .nav-item .pending-pill{margin-left:5px}.staff-stock-bar{display:block;padding:14px;margin-bottom:20px}.staff-stock-bar>strong{display:block;margin-bottom:10px}.staff-stock-bar>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.staff-stock-bar span{font-size:11px;white-space:nowrap}.staff-stock-bar b{display:block;font-size:12px;margin-bottom:3px}.order-queue{grid-template-columns:1fr}.page-heading{flex-wrap:wrap}.memo-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr;gap:0}.modal{padding:42px 22px 24px;max-height:92dvh}.modal.wide{width:100%}.toast{bottom:22px}.purchase-space:has(.mobile-cart) .toast{bottom:100px}.login-card,.staff-login{margin-top:30px}.subnav{gap:5px}.subnav button{padding:10px 8px;font-size:13px}}
@media(max-width:360px){.shell{padding-left:12px;padding-right:12px}.product-row{gap:8px;padding:15px 10px}.product-row>img{width:42px;height:48px}.quantity-button{width:32px;height:36px}.product-count{gap:7px}.product-info h2{font-size:14px}.profile-button{font-size:12px}.brand strong{font-size:16px}.event-stats>div{padding:0 14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.product-info .menu-real-name{display:block;font-size:12px;line-height:1.45;color:var(--muted);margin:0 0 7px}.product-info h2{line-height:1.4}.product-info strong{display:block}.product-row>img{flex-shrink:0}.menu-real-name{font-weight:400}

.product-info .menu-concept{display:block;font-size:12px;line-height:1.45;color:#7c8178;margin:0 0 7px}.product-price{display:flex;align-items:center;gap:8px}.sold-out-label{font-size:12px;font-weight:600}.product-row.sold-out{background:#f1f2ee;color:#92968d}.product-row.sold-out .menu-concept{color:#989d93}.product-row.sold-out .quantity-button{opacity:1;background:#f5f6f1;border-color:#dfe2d8;color:#b0b6a8;cursor:not-allowed}

/* Event ranking and the five character milestones. */
.event-action{margin-bottom:20px}.ranking-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.event-space .primary-button.purchase-cta{background:var(--accent);border-color:#dbbe54;color:#252923}.alchemist{display:block;object-fit:contain;flex-shrink:0}.character-summary{display:flex;align-items:center;gap:14px}.character-summary>.alchemist{width:112px;height:112px}.character-summary h2{font-size:17px;line-height:1.4;margin:7px 0}.character-summary p{font-size:13px;color:var(--muted);margin:0}.character-summary p strong{color:#252923;margin-left:5px}.level-badge{display:inline-block;border-radius:20px;background:#efe9f7;color:#6e518d;font-size:11px;font-weight:700;padding:4px 9px}.level-message{font-size:14px;font-weight:700;color:#675080;line-height:1.6;margin:18px 0 0}.level-card .progress{margin:12px 0 18px}.level-milestones{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin:18px 0 0;gap:5px}.level-milestones li{text-align:center;border-radius:9px;padding:4px 0 8px;background:#faf9fc;border:1px solid transparent}.level-milestones .alchemist{width:100%;height:auto}.level-milestones span{display:block;font-size:11px;color:var(--muted)}.level-milestones .ready{border-color:#baa0d3;border-style:dashed}.level-milestones .unlocked{background:#f1ebf7}.level-milestones [aria-current]{border-color:#a78abb}.level-caption{font-size:11px;line-height:1.7;color:var(--muted);margin:12px 0 0}.level-preview{width:160px;height:160px;margin:0 auto 12px}.draw-prompt>.label-kicker{display:block}.draw-prompt h2{margin:10px 0}.bread-prize{display:flex;align-items:center;justify-content:center;gap:14px;padding:16px 12px;margin:20px 0;background:#faf5e8;border:1px solid #eddfbb;border-radius:12px;text-align:left}.bread-prize img{object-fit:contain}.bread-prize span,.bread-prize small{display:block;color:var(--muted);font-size:11px}.bread-prize strong{display:block;font-size:16px;margin:5px 0}.level-up-result h2{font-size:20px}.level-up-result .primary-button,.draw-prompt .primary-button{background:#65507f;border-color:#65507f;color:white}.reward-history>summary{font-size:14px;font-weight:700;cursor:pointer}.dice-layout>.level-card{min-width:0}.ranking-layout .content-card{min-width:0}
@media(max-width:800px){.ranking-layout{grid-template-columns:1fr}.character-summary{gap:12px}.character-summary>.alchemist{width:100px;height:100px}.level-milestones .alchemist{max-height:70px}.level-up-result h2{font-size:18px}}

.benefit-options{display:grid;gap:12px;margin:8px 0 24px}.benefit-option{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:#fafbf7;font-size:14px;font-weight:600}.benefit-option input{width:20px;height:20px;margin:0;accent-color:#536446;flex-shrink:0}.benefit-option small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:5px}
.product-price .menu-concept{margin:0;font-size:11px}

.character-unknown{display:grid;place-items:center;width:160px;height:160px;border:1px dashed #cbbfda;border-radius:22px;background:#f2eef7;color:#9581ab;font-size:64px;font-weight:800;line-height:1}.level-milestones .character-unknown{height:auto;aspect-ratio:1;border-radius:8px;font-size:clamp(24px,4vw,36px)}

.product-photo{position:relative;flex:0 0 72px;width:72px;height:72px;overflow:hidden;border:1px solid #e4e7df;border-radius:10px;background:#f3f5ef}.photo-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#b5bdb0}.photo-placeholder .icon{width:26px;height:26px}.product-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.product-row.sold-out .product-photo{filter:grayscale(1);opacity:.55}.product-count{flex-shrink:0}
@media(max-width:800px){.product-row{gap:10px}.product-photo{flex-basis:60px;width:60px;height:60px}}
@media(max-width:360px){.product-row{gap:8px}.product-photo{flex-basis:48px;width:48px;height:48px}.photo-placeholder .icon{width:22px;height:22px}}

/* One event page: personal controls first, rankings alongside on wide screens. */
.event-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.event-personal,.event-rankings{min-width:0}
.event-play{border-color:#ddd1ea;background:linear-gradient(145deg,#fff,#faf7fd)}
.event-play .character-summary>.alchemist{width:88px;height:88px}
.event-play .character-summary p strong{font-size:24px}
.event-play .level-message{margin-top:18px}
.event-space .event-play .level-up-button{background:#f5e4ac;border-color:#e4ce8d;color:#624a12;margin-bottom:4px}
.inline-dice{margin-top:18px;padding:16px;background:#fff;border:1px solid #e5dced;border-radius:12px}
.dice-control-head{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;margin-bottom:14px}
.inline-dice .dice-visual{height:64px}
.inline-dice .big-dice{width:52px;height:52px;padding:10px;gap:4px;border-radius:11px;box-shadow:3px 4px 0 #ded3ec}
.dice-balance{font-size:13px;margin:0;color:var(--muted)}
.dice-balance strong{font-size:20px;color:#4f3d65;margin-left:5px}
.dice-feedback{font-size:12px;line-height:1.6;min-height:20px;color:var(--muted);margin:4px 0 0}
.dice-feedback.has-result{color:#65507f;font-weight:700}
.inline-dice .primary-button{min-height:54px;font-size:15px}
.inline-dice .purchase-cta{font-size:14px}
.character-stages{margin-top:20px;border-top:1px solid #e5dced;padding-top:16px}
.character-stages summary{font-size:13px;font-weight:600;cursor:pointer}
.character-stages summary span{font-size:11px;font-weight:400;color:var(--muted);margin-left:8px}
@media(max-width:800px){.event-layout{grid-template-columns:1fr}.event-play .character-summary>.alchemist{width:72px;height:72px}.event-play .character-summary h2{font-size:16px}.event-play .character-summary p strong{font-size:22px}}

.preorder-status-panel{margin-bottom:22px}
.preorder-status-panel>summary{width:fit-content;list-style:none;cursor:pointer}
.preorder-status-panel>summary::-webkit-details-marker{display:none}
.preorder-status-panel>summary>span{font-size:12px;color:var(--muted);font-weight:400}
.preorder-status-panel[open]>summary>.icon{transform:rotate(90deg)}
.preorder-status-content{margin-top:14px}
.preorder-status-content .preorder-menu{min-width:240px;max-width:560px;white-space:normal;line-height:1.8}
