:root{--cream: #fffbea;--cream-2: #fff6d6;--key: #fff1b8;--key-press: #ffe78a;--yellow: #ffd93b;--yellow-2: #f9c80e;--green: #1f4d2b;--green-2: #2e7d32;--leaf: #5cb85c;--text: #1f2d22;--muted: #6b6f5f;--line: #efe6c4;--card: #ffffff;--danger: #d9443b;--radius: 22px;--shadow: 0 6px 20px rgba(120, 100, 20, .12);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:Nunito,ui-rounded,system-ui,-apple-system,sans-serif;background:var(--cream);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}button:disabled{cursor:not-allowed}input,select,textarea{font:inherit;color:inherit}input,select,textarea{font-size:max(16px,1em)}a{color:var(--green-2)}img{max-width:100%;display:block}.screen{max-width:480px;margin:0 auto;min-height:100dvh;padding:calc(var(--safe-top) + 12px) 16px calc(var(--safe-bottom) + 24px);position:relative;overflow-x:hidden}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px}.header .logo{height:44px;width:auto}.icon-btn{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--key);color:var(--green);flex-shrink:0}.icon-btn:active{background:var(--key-press)}.icon-btn.round{border-radius:50%;background:var(--card);box-shadow:var(--shadow)}.topbar{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;min-height:52px}.topbar h1{margin:0;text-align:center;font-size:22px;font-weight:900;color:var(--green)}.register-hero{position:relative;height:150px;margin-top:4px}.register-hero .mascot{position:absolute;left:50%;bottom:-34px;transform:translate(-50%);width:190px;z-index:1}.register-hero .sparkle{position:absolute;width:10px;height:26px;border-radius:99px;background:var(--yellow-2)}.register-hero .leaf{position:absolute;width:72px;bottom:0}.register-card{position:relative;z-index:2;background:#fffdf3;border-radius:36px 36px var(--radius) var(--radius);padding:22px 20px 20px;box-shadow:var(--shadow)}.amount{text-align:center;font-size:clamp(52px,17vw,76px);font-weight:900;color:var(--green);line-height:1.05;margin:4px 0 6px;letter-spacing:-1px;word-break:break-all}.amount-note{display:flex;justify-content:center;gap:8px;align-items:center;color:var(--muted);font-weight:700;font-size:14px;min-height:22px;margin-bottom:8px}.amount-note button{color:var(--green-2);text-decoration:underline;font-weight:800}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 18px;justify-items:center;margin:8px 0 20px}.key{width:min(84px,22vw);aspect-ratio:1;border-radius:50%;background:var(--key);font-size:34px;font-weight:800;color:var(--green);display:grid;place-items:center;transition:transform .06s ease,background .1s}.key:active{transform:scale(.94);background:var(--key-press)}.pay-btn{width:100%;min-height:64px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(180deg,#ffe45c,var(--yellow-2));color:var(--green);font-size:24px;font-weight:900;box-shadow:0 6px #e3b400,0 10px 24px #f9c80e59}.pay-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 4px #e3b400}.pay-btn:disabled{opacity:.55;box-shadow:none}.pay-btn .nfc{width:40px;height:40px;border-radius:50%;background:var(--green);color:var(--yellow);display:grid;place-items:center}.footnote{text-align:center;font-size:13px;color:var(--muted);margin:12px 0 0;font-weight:600}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;align-items:center;gap:12px}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.small{font-size:14px}.center{text-align:center}.section-title{font-size:20px;font-weight:900;color:var(--green);margin:28px 0 12px}.section-title:first-child{margin-top:8px}.btn{min-height:52px;padding:0 22px;border-radius:999px;font-weight:900;font-size:17px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(180deg,#ffe45c,var(--yellow-2));color:var(--green);box-shadow:0 4px #e3b400}.btn-primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #e3b400}.btn-primary:disabled{opacity:.55}.btn-outline{border:2px solid var(--green);color:var(--green);background:#fffdf3}.btn-ghost{color:var(--green-2)}.btn-danger{color:var(--danger);border:2px solid var(--danger);background:#fff}.btn-block{width:100%}.pill-add{border:1.5px solid var(--green);color:var(--danger);background:#fffdf3}.pill-add svg{color:var(--danger)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:800;font-size:15px;color:var(--green)}.input{width:100%;min-height:52px;border-radius:16px;border:2px solid var(--line);background:#fff;padding:0 16px;font-size:17px;font-weight:700}.input:focus{outline:none;border-color:var(--yellow-2)}.error{color:var(--danger);font-weight:700;font-size:14px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:40px;padding:0 14px;border-radius:999px;background:var(--cream-2);border:1.5px solid var(--line);font-weight:800;font-size:15px;color:var(--text)}.chip.on{background:var(--yellow);border-color:var(--yellow-2);color:var(--green)}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:999px;padding:4px;box-shadow:var(--shadow)}.segmented button{min-height:44px;border-radius:999px;font-weight:900;color:var(--green);font-size:17px}.segmented button.on{background:var(--yellow)}.switch{width:54px;height:32px;border-radius:99px;background:#ddd8c4;position:relative;transition:background .15s;flex-shrink:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s}.switch.on{background:var(--leaf)}.switch.on:after{transform:translate(22px)}.list-item{display:flex;align-items:center;gap:14px;background:var(--card);border-radius:18px;box-shadow:var(--shadow);padding:12px 14px;width:100%;text-align:left}.list-item .thumb{width:56px;height:56px;border-radius:14px;background:var(--cream-2);object-fit:contain;flex-shrink:0}.list-item .title{font-weight:900;font-size:17px}.list-item .sub{color:var(--muted);font-size:14px;font-weight:700}.list-item .price{font-weight:900;color:var(--green);font-size:18px}.setting-row{display:flex;align-items:center;gap:14px}.setting-row .ico{color:var(--green);flex-shrink:0}.setting-row .label{font-weight:900;font-size:18px}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 0 8px}.empty img{width:210px}.empty p{font-size:22px;font-weight:800;color:#5b5e50;margin:14px 0 18px}.fab{position:fixed;right:max(16px,calc(50vw - 224px));bottom:calc(var(--safe-bottom) + 20px);width:64px;height:64px;border-radius:50%;background:linear-gradient(180deg,#ffe45c,var(--yellow-2));color:var(--green);display:grid;place-items:center;box-shadow:0 8px 20px #c8960066;z-index:20}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.action{background:var(--card);border-radius:20px;box-shadow:var(--shadow);padding:14px;text-align:left;display:flex;flex-direction:column;gap:8px;min-height:118px}.action .ico{width:42px;height:42px;border-radius:14px;background:var(--key);color:var(--green);display:grid;place-items:center}.action .t{font-weight:900;font-size:17px;color:var(--green)}.action .d{font-size:13px;color:var(--muted);font-weight:700;line-height:1.3}.scroller{display:flex;gap:12px;overflow-x:auto;padding:4px 16px 12px;margin:0 -16px;scroll-snap-type:x mandatory}.scroller::-webkit-scrollbar{display:none}.stand-card{flex:0 0 150px;scroll-snap-align:start;background:var(--card);border-radius:20px;box-shadow:var(--shadow);padding:10px;text-align:center}.stand-card img{width:100%;aspect-ratio:1;object-fit:contain}.stand-card .t{font-weight:900;font-size:15px;color:var(--green);margin-top:4px}.hero-img{width:230px;margin:0 auto}.lead{font-size:18px;font-weight:800;text-align:center;color:var(--green);margin:6px 0 0}.check-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.check-list li{display:flex;gap:10px;font-weight:700}.check-list li:before{content:"🍋";flex-shrink:0}.tip-list{padding-left:20px;margin:0;display:flex;flex-direction:column;gap:10px;font-weight:700}.calc{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.calc .field label{font-size:13px}.calc .input{min-height:46px;padding:0 10px}.result-row{display:flex;justify-content:space-between;font-weight:800;padding:6px 0;border-bottom:1px dashed var(--line)}.result-row:last-child{border:0}.result-row.big{font-size:20px;color:var(--green-2)}.callout{background:var(--cream-2);border:2px solid var(--line);border-radius:18px;padding:14px;font-weight:700}.term{font-weight:900;color:var(--green);font-size:17px}.map{height:260px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);position:relative;z-index:0}.map.tall{height:calc(100dvh - 230px - var(--safe-top) - var(--safe-bottom));min-height:360px}.pin{width:58px;height:58px;border-radius:50%;background:#fff;border:3px solid var(--yellow-2);box-shadow:0 4px 10px #0003;overflow:hidden}.pin img{width:100%;height:100%;object-fit:contain}.leaflet-div-icon.lemon-pin{background:none;border:0}.pin-label{position:absolute;left:50%;top:60px;transform:translate(-50%);max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff;color:var(--green);font-weight:900;font-size:12px;padding:2px 8px;border-radius:999px;box-shadow:0 2px 6px #0000002e}.menu-list{display:grid;gap:6px}.menu-list .row{justify-content:space-between;font-weight:800}.menu-list .price{color:var(--green);font-weight:900}.menu-chip{display:inline-flex;align-items:center;min-height:34px;font-size:14px}.range-row{display:flex;gap:10px}.range-row select{flex:1}.search{display:flex;gap:10px;align-items:center}.search .input{border-radius:999px}.popup-card{position:absolute;left:12px;right:12px;bottom:12px;z-index:500}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#28230a73;display:flex;align-items:flex-end;justify-content:center;z-index:1000}.sheet{width:100%;max-width:480px;background:var(--cream);border-radius:28px 28px 0 0;padding:22px 18px calc(var(--safe-bottom) + 22px);max-height:92dvh;overflow-y:auto;animation:rise .2s ease-out}.sheet h2{margin:0 0 14px;font-size:22px;font-weight:900;color:var(--green)}@keyframes rise{0%{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}.pay-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--cream);z-index:1100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}.pay-overlay img{width:220px}.pay-overlay h2{margin:0;font-size:30px;font-weight:900;color:var(--green)}.pay-overlay p{margin:0;font-weight:700;color:var(--muted);font-size:17px}.toast{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 24px);transform:translate(-50%);background:var(--green);color:#fff;padding:12px 18px;border-radius:999px;font-weight:800;z-index:1200;max-width:calc(100vw - 32px);text-align:center}.spinner{width:42px;height:42px;border-radius:50%;border:5px solid var(--key);border-top-color:var(--yellow-2);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bounce{animation:bounce 1.2s ease-in-out infinite}@keyframes bounce{50%{transform:translateY(-10px)}}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{background:var(--card);border-radius:18px;box-shadow:var(--shadow);padding:12px 10px;text-align:center}.stat .v{font-weight:900;font-size:20px;color:var(--green)}.stat .l{font-size:13px;font-weight:800;color:var(--muted)}.badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:13px;font-weight:900;background:var(--key);color:var(--green)}.badge.ok{background:#dff3dc;color:var(--green-2)}.badge.muted{background:#eee9d8;color:var(--muted)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.li-ico{width:48px;height:48px;border-radius:14px;background:var(--key);color:var(--green);display:grid;place-items:center;flex-shrink:0}.flow{display:flex;flex-direction:column}.flow-top{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:8px;min-height:52px}.flow-skip{min-height:44px;padding:0 8px}.dots{display:flex;justify-content:center;gap:6px}.dots span{width:9px;height:9px;border-radius:99px;background:var(--line);transition:width .2s,background .2s}.dots span.done{background:var(--yellow-2)}.dots span.on{width:26px;background:var(--yellow-2)}.flow-body{flex:1;display:flex;flex-direction:column;gap:14px;padding:12px 0 20px}.flow-art{display:flex;justify-content:center}.flow-art img{width:210px}.flow-title{margin:0;text-align:center;font-size:28px;font-weight:900;color:var(--green);line-height:1.15}.flow-text{margin:0;text-align:center;font-size:17px;font-weight:700;color:#4d5145;line-height:1.45}.flow-actions{display:flex;flex-direction:column;gap:8px;position:sticky;bottom:0;padding:12px 0 calc(var(--safe-bottom) + 4px);background:linear-gradient(180deg,rgba(255,251,234,0),var(--cream) 30%)}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;counter-reset:step}.steps li{display:flex;gap:12px;align-items:center;background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:12px 14px;font-weight:800;counter-increment:step}.steps li:before{content:counter(step);width:32px;height:32px;border-radius:50%;background:var(--yellow);color:var(--green);display:grid;place-items:center;font-weight:900;flex-shrink:0}.choice{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--card);border:2px solid var(--line);border-radius:22px;padding:12px 16px;box-shadow:var(--shadow)}.choice:active{border-color:var(--yellow-2)}.choice img{width:72px;height:72px;object-fit:contain;flex-shrink:0}.choice .t{display:block;font-weight:900;font-size:19px;color:var(--green)}.choice .d{display:block;font-weight:700;font-size:14px;color:var(--muted)}.check{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:2px solid var(--line);border-radius:16px;padding:12px 14px;font-weight:700;cursor:pointer}.check.on{border-color:var(--leaf)}.check input{position:absolute;opacity:0;pointer-events:none}.check .box{width:26px;height:26px;border-radius:8px;border:2px solid var(--line);display:grid;place-items:center;flex-shrink:0;font-weight:900;color:#fff}.check.on .box{background:var(--leaf);border-color:var(--leaf)}.check:focus-within{outline:3px solid var(--yellow);outline-offset:2px}.fee-list{display:flex;flex-direction:column;gap:8px}.fee-list .result-row{font-size:16px}.stand-filter{flex:0 0 auto;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:2px;width:84px;padding:6px 4px;border-radius:18px;background:var(--card);border:2px solid transparent;box-shadow:var(--shadow);font-weight:800;font-size:13px;color:var(--green)}.stand-filter img{width:56px;height:56px;object-fit:contain}.stand-filter.on{border-color:var(--yellow-2);background:var(--key)}.start-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:linear-gradient(135deg,#fff3b0,#ffe36b);border-radius:22px;padding:14px 16px;box-shadow:var(--shadow);margin-top:12px}.start-card img{width:72px;flex-shrink:0}.start-card .t{font-weight:900;font-size:19px;color:var(--green)}.start-card .d{font-weight:700;font-size:14px;color:#5b5e50}.login{padding-top:calc(var(--safe-top) + 28px);padding-bottom:calc(var(--safe-bottom) + 40px)}.skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.skill{background:var(--card);border-radius:18px;box-shadow:var(--shadow);padding:14px;border-top:5px solid var(--yellow-2)}.skill .t{font-weight:900;font-size:17px;color:var(--green)}.skill .d{font-weight:700;font-size:14px;color:var(--muted);margin-top:2px;line-height:1.3}.feature{display:flex;align-items:center;gap:14px;background:var(--card);border-radius:20px;box-shadow:var(--shadow);padding:10px 14px}.feature img{width:64px;height:64px;object-fit:contain;flex-shrink:0}.feature .t{font-weight:900;font-size:17px;color:var(--green)}.feature .d{font-weight:700;font-size:14px;color:var(--muted);line-height:1.35}.founder{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:grid;gap:14px}.founder img{width:100%;max-width:280px;margin:0 auto;aspect-ratio:4 / 5;object-fit:cover;border-radius:18px;border:4px solid var(--yellow-2)}.founder .t{font-weight:900;font-size:20px;color:var(--green)}.founder .d{font-weight:700;font-size:15px;color:var(--muted);line-height:1.4}.founder .chip{display:inline-flex;align-items:center;min-height:34px;font-size:14px}.code-input{text-align:center;font-size:28px;letter-spacing:10px;font-weight:900}.place-search{position:relative}.place-search input[type=search]::-webkit-search-cancel-button{display:none}.place-results{list-style:none;margin:6px 0 0;padding:6px;position:absolute;left:0;right:0;top:100%;z-index:1000;background:var(--card);border:2px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.place-results li.muted{padding:10px 12px}.place-results button{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;padding:10px 12px;border-radius:12px}.place-results button:active,.place-results button:hover{background:var(--cream-2)}.place-results .t{font-weight:900;color:var(--green)}.place-results .d{font-size:14px;font-weight:700;color:var(--muted)}.hours-slider{display:flex;flex-direction:column;gap:10px}.hours-readout{display:flex;justify-content:center;align-items:baseline;gap:10px;font-size:24px;font-weight:900;color:var(--green)}.hours-readout .muted{font-size:16px}.hours-track{position:relative;height:44px;--thumb: 30px}.hours-track:before{content:"";position:absolute;left:calc(var(--thumb) / 2);right:calc(var(--thumb) / 2);top:50%;height:10px;transform:translateY(-50%);border-radius:99px;background:linear-gradient(90deg,var(--line) var(--from),var(--yellow-2) var(--from),var(--yellow-2) var(--to),var(--line) var(--to))}.hours-track input[type=range]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;background:none;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:none}.hours-track input[type=range]::-webkit-slider-runnable-track{background:none;height:100%}.hours-track input[type=range]::-moz-range-track{background:none}.hours-track input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:var(--thumb);height:var(--thumb);margin-top:calc((44px - var(--thumb)) / 2);border-radius:50%;background:#fff;border:4px solid var(--yellow-2);box-shadow:0 2px 8px #503c0040;cursor:grab}.hours-track input[type=range]::-moz-range-thumb{pointer-events:auto;width:var(--thumb);height:var(--thumb);border-radius:50%;background:#fff;border:4px solid var(--yellow-2);box-shadow:0 2px 8px #503c0040;cursor:grab}.hours-track input[type=range]:focus-visible::-webkit-slider-thumb{outline:3px solid var(--green);outline-offset:2px}.hours-scale{display:flex;justify-content:space-between;font-weight:800}.legal{font-weight:600;font-size:15px;line-height:1.5}.legal p{margin:0 0 10px}.legal p:last-child{margin-bottom:0}.legal ul{margin:0;padding-left:20px;display:grid;gap:8px}.legal a,.screen .muted a{color:var(--green);font-weight:800}.map-cta{display:flex;align-items:center;gap:12px;margin-top:16px;padding:10px 14px;background:var(--key);border:2px solid var(--yellow-2);border-radius:20px;text-decoration:none}.map-cta img{width:60px;height:60px;object-fit:contain;flex-shrink:0}.map-cta .t{font-weight:900;font-size:17px;color:var(--green)}.map-cta .d{font-weight:700;font-size:14px;color:var(--muted);line-height:1.3}.map-cta .go{font-size:30px;font-weight:900;color:var(--green)}.payout-notice{display:flex;flex-direction:column;gap:10px;border-color:var(--yellow-2);margin:8px 0}.link-btn{background:none;border:0;padding:0;font:inherit;font-weight:800;color:var(--green-2);text-decoration:underline;cursor:pointer}.dispute-tag{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:800;background:#fde2e0;color:var(--danger)}.dispute-tag.ok{background:#e3f3e4;color:var(--green-2)}.update-banner{position:fixed;top:0;left:0;right:0;z-index:2000;display:flex;align-items:center;gap:12px;padding:calc(var(--safe-top) + 12px) 16px 12px;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 4px 14px #7864141a;cursor:pointer;animation:update-slide .28s ease-out}@keyframes update-slide{0%{transform:translateY(-100%)}to{transform:none}}.update-banner-icon{width:52px;height:52px;border-radius:12px;flex-shrink:0}.update-banner-text{flex:1;min-width:0}.update-banner-title{font-weight:900;font-size:16px;color:var(--green);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.update-banner-body{font-weight:700;font-size:13.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.update-banner-btn{flex-shrink:0;border:0;border-radius:999px;padding:7px 18px;background:linear-gradient(180deg,var(--yellow),var(--yellow-2));box-shadow:0 3px #d9a90a;color:var(--green);font:inherit;font-weight:900;font-size:15px;cursor:pointer}.update-banner-close{flex-shrink:0;width:26px;height:26px;border:0;border-radius:50%;background:#0000000f;color:var(--muted);font-size:18px;line-height:1;cursor:pointer}.soft-img{height:auto;opacity:0;transition:opacity .35s ease;background:radial-gradient(circle at 50% 55%,rgba(246,212,67,.22),transparent 62%);border-radius:24px}.soft-img.is-loaded{opacity:1;background:none}@media (prefers-reduced-motion: reduce){.soft-img{transition:none}}.photo-pick{display:flex;gap:14px;align-items:center}.photo-box{width:88px;height:88px;border-radius:18px;border:2px dashed var(--line);background:var(--cream);padding:0;overflow:hidden;flex-shrink:0;cursor:pointer}.photo-box img{width:100%;height:100%;object-fit:cover}.photo-box img.placeholder{object-fit:contain;opacity:.55;padding:8px}.stock-tag{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:800;background:#e3f3e4;color:var(--green-2);vertical-align:middle}.stock-tag.out{background:#fde2e0;color:var(--danger)}.menu-thumb{width:44px;height:44px;border-radius:12px;object-fit:cover;flex-shrink:0;background:var(--cream)}.money-table{width:100%;border-collapse:collapse;font-weight:800;font-size:15px}.money-table td,.money-table th{padding:9px 4px;border-bottom:1px solid var(--line);text-align:left}.money-table td:last-child,.money-table th:last-child{text-align:right;white-space:nowrap}.money-table.grid td,.money-table.grid th{text-align:right}.money-table.grid td:first-child,.money-table.grid th:first-child{text-align:left}.money-table th{color:var(--muted);font-size:13px;font-weight:900}.money-table tr.sub td{color:var(--muted)}.money-table tr.total td{border-bottom:0;font-size:18px;font-weight:900;color:var(--green);padding-top:12px}.money-table .neg,.calc-facts .neg{color:var(--danger)}.money-table .pos{color:var(--green-2)}.calc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.calc-facts .fact{background:var(--cream);border-radius:14px;padding:10px 6px;text-align:center}.calc-facts .v{font-weight:900;font-size:18px;color:var(--green)}.calc-facts .l{font-weight:800;font-size:12px;color:var(--muted);margin-top:2px}.flyer-preview{background:#fffbea;border-radius:18px;box-shadow:var(--shadow);overflow:hidden;aspect-ratio:8.5 / 11;display:flex;flex-direction:column;font-weight:800;color:var(--green)}.fp-top{background:var(--yellow);padding:10px 0 14px;border-bottom-left-radius:50% 14px;border-bottom-right-radius:50% 14px}.fp-title{font-size:26px;font-weight:900;text-align:center;margin:10px 14px 0;line-height:1.1}.fp-headline{font-size:14px;text-align:center;color:var(--muted);margin:4px 14px 0}.fp-body{display:flex;gap:10px;align-items:center;padding:8px 16px}.fp-info{flex:1;min-width:0}.fp-label{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:6px}.fp-value{font-size:14px;font-weight:900}.fp-menu{background:#fff;border-radius:12px;margin:4px 16px;padding:8px 12px;font-size:13px}.fp-qr{margin:auto 0 6px;text-align:center;font-size:12px;display:grid;justify-items:center;gap:4px}.fp-qr-img{width:84px;height:84px;border-radius:8px;background:#fff;padding:4px}.fp-photo{width:42%;aspect-ratio:1;object-fit:cover;border-radius:14px;border:3px solid #fff}.fp-thumb{width:22px;height:22px;border-radius:6px;object-fit:cover}.fp-foot{background:var(--yellow);font-size:11px;text-align:center;padding:8px}.loading-screen{display:grid;place-items:center;align-content:center;gap:22px;text-align:center;padding-left:28px;padding-right:28px}.loading-lemon{position:relative;width:150px;height:150px}.loading-lemon .pose{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:opacity .35s ease,transform .35s ease}.loading-lemon .celebrate{opacity:0;transform:scale(.9) rotate(-6deg)}.loading-lemon.cheer .normal{opacity:0;transform:scale(.92)}.loading-lemon.cheer .celebrate{opacity:1;transform:translateY(-12px) scale(1.04) rotate(4deg)}.loading-quote{margin:0;max-width:330px;animation:quote-in .5s ease both}.loading-quote blockquote{margin:0;font-size:18px;font-weight:800;line-height:1.35;color:var(--green)}.loading-quote figcaption{margin-top:8px;font-size:14px;font-weight:800;color:var(--muted)}.loading-quote figcaption:before{content:"— "}@keyframes quote-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.loading-lemon .pose,.loading-quote{transition:none;animation:none}.loading-lemon.cheer .celebrate{transform:none}}.carousel{position:relative}.carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:20px;-webkit-overflow-scrolling:touch}.carousel-track::-webkit-scrollbar{display:none}.carousel-slide{flex:0 0 100%;scroll-snap-align:center;margin:0;height:230px;display:grid;place-items:center;position:relative}.carousel-slide img{width:100%;height:100%;object-fit:cover;border-radius:20px}.carousel-slide.art img{width:200px;height:200px;object-fit:contain}.carousel-slide figcaption{position:absolute;left:10px;bottom:10px;background:#fffbeaeb;color:var(--green);font-weight:900;font-size:14px;padding:4px 12px;border-radius:999px}.carousel-dots{display:flex;justify-content:center;gap:7px;margin-top:10px}.carousel-dots button{width:8px;height:8px;border-radius:999px;border:0;padding:0;background:var(--line);cursor:pointer;transition:width .2s,background .2s}.carousel-dots button.on{width:22px;background:var(--yellow-2)}body:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:var(--cream);z-index:1500;pointer-events:none}.join-code{font-size:30px;font-weight:900;letter-spacing:.12em;color:var(--green)}.school-stats,.student-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.student-grid{grid-template-columns:repeat(3,1fr)}.school-stats>div,.student-grid>div{background:var(--cream);border-radius:12px;padding:8px 4px;text-align:center;display:grid}.school-stats b,.student-grid b{font-size:17px;font-weight:900;color:var(--green)}.school-stats span,.student-grid span{font-size:11.5px;font-weight:800;color:var(--muted)}.student-card{display:grid;gap:10px}.teacher-guide ol{margin:0;padding-left:20px;display:grid;gap:8px;font-weight:700}.badge.muted{background:var(--cream);color:var(--muted)}
