:root{--bg:#cdeffc;--surface:#ffffff;--surface-2:#eaf8fd;--line:#bfe6f2;--text:#23277a;--text-dim:#6672a8;--accent:#ff6fb8;--gold:#e6a817;--silver:#98a3c2;--bronze:#c2793f;--radius:20px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;overscroll-behavior:none}body{background:var(--bg);color:var(--text);font-family:Jua,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:manipulation}button{background:none;border:none;cursor:pointer}button,input{font:inherit;color:inherit}.item-image{display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:50%;padding:11%;box-shadow:0 6px 24px rgba(35,39,122,.25)}.item-image>img,.item-image>svg{width:100%;height:100%;object-fit:contain;display:block}.slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;height:100%;width:100%;min-width:0;padding:12px}.slot-window{position:relative;width:100%;max-width:260px;height:200px;overflow:hidden;border-radius:28px;background:linear-gradient(180deg,#bfe6f2,#9fd8ec);border:1px solid var(--line);box-shadow:inset 0 12px 26px rgba(35,39,122,.12)}.slot-window.is-landed{animation:slot-glow .7s ease-out}@keyframes slot-glow{0%{box-shadow:inset 0 12px 26px rgba(35,39,122,.12),0 0 0 0 rgba(var(--glow-rgb),.55);border-color:rgba(var(--glow-rgb),.75)}35%{box-shadow:inset 0 12px 26px rgba(35,39,122,.12),0 0 36px 7px rgba(var(--glow-rgb),.5);border-color:rgba(var(--glow-rgb),.6)}to{box-shadow:inset 0 12px 26px rgba(35,39,122,.12),0 0 0 0 rgba(var(--glow-rgb),0);border-color:var(--line)}}.slot-aura{position:absolute;inset:-35%;pointer-events:none;opacity:0;transition:opacity .38s ease;background:conic-gradient(from 0deg,#ff4d6d,#ff9f43,#ffe066,#63e6a8,#4dd0e1,#6c8cff,#b47cff,#ff4d6d);filter:blur(26px) saturate(1.6);will-change:transform}.slot-aura.is-spinning{opacity:.24;animation:aura-spin 3.2s linear infinite}@keyframes aura-spin{to{transform:rotate(1turn)}}.slot-bounce{position:relative;z-index:1}.slot-mask{z-index:2}.slot-bounce.is-landed{animation:slot-settle .44s cubic-bezier(.22,1.4,.36,1)}@keyframes slot-settle{0%{transform:translate3d(0,-7px,0)}55%{transform:translate3d(0,5px,0)}to{transform:translateZ(0)}}.slot-reel{will-change:transform,filter}.slot-cell{height:200px;display:grid;place-items:center}.slot-mask{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(191,230,242,.95),rgba(191,230,242,0) 24%,rgba(191,230,242,0) 76%,rgba(191,230,242,.95))}.slot-name{font-size:clamp(22px,3.3vw,37px);font-weight:400;color:#1a1a1a;letter-spacing:-.02em;min-height:1.4em;text-align:center;transition:opacity .18s ease}.slot-name.is-spinning{opacity:.3}.slot-button{min-height:56px;padding:0 clamp(20px,3vw,34px);border-radius:999px;font-size:clamp(17px,2vw,22px);font-weight:400;background:var(--accent);color:#fff;box-shadow:0 8px 22px rgba(255,111,184,.4);transition:transform .12s ease,opacity .16s ease,box-shadow .16s ease}.slot-button:active{transform:scale(.96)}.slot-button:disabled{opacity:.45;box-shadow:none}.slot-button.is-stop{background:#e8368f;color:#fff;animation:stop-pulse 1.1s ease-in-out infinite}@keyframes stop-pulse{0%,to{box-shadow:0 8px 22px rgba(232,54,143,.35)}50%{box-shadow:0 8px 30px rgba(232,54,143,.75)}}@media (prefers-reduced-motion:reduce){.slot-button.is-stop{animation:none}.slot-reel{filter:none!important}.slot-bounce.is-landed,.slot-window.is-landed{animation:none}.slot-aura.is-spinning{animation:none;opacity:.14}}.app{position:relative;height:100dvh;overflow:hidden}.topbar{position:fixed;top:calc(14px + var(--safe-t));left:50%;transform:translateX(-50%);z-index:50;display:flex;gap:4px;padding:5px;border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:0 10px 30px rgba(35,39,122,.15)}.topbar-tab{min-width:96px;min-height:44px;padding:0 22px;border-radius:999px;font-size:18px;font-weight:400;color:var(--text-dim);transition:color .16s ease,background .2s ease}.topbar-tab.is-active{background:var(--accent);color:#fff}.draw-grid{display:grid;height:100%;width:100%;padding:calc(84px + var(--safe-t)) var(--safe-r) var(--safe-b) var(--safe-l)}.draw-slot{position:relative;min-width:0;display:grid;place-items:center;border-right:1px solid var(--line)}.draw-slot:last-child{border-right:none}.draw-slot-label{position:absolute;top:8px;left:14px;font-size:14px;font-weight:400;color:var(--text-dim)}.fab-wrap{position:fixed;right:calc(18px + var(--safe-r));bottom:calc(18px + var(--safe-b));display:flex;flex-direction:column;align-items:center;gap:10px;z-index:40}.fab{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;line-height:1;background:var(--surface-2);border:1px solid var(--line);box-shadow:0 10px 26px rgba(35,39,122,.18)}.fab-value{font-size:22px;font-weight:400}.fab-unit{font-size:11px;color:var(--text-dim)}.fab-menu{display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);animation:fab-in .16s ease-out}@keyframes fab-in{0%{opacity:0;transform:translateY(8px) scale(.94)}to{opacity:1;transform:none}}.fab-option{width:44px;height:44px;border-radius:50%;font-weight:400;color:var(--text-dim)}.fab-option.is-active{background:var(--accent);color:#fff}.rank{height:100%;flex-direction:column;padding:calc(84px + var(--safe-t)) calc(20px + var(--safe-r)) calc(20px + var(--safe-b)) calc(20px + var(--safe-l))}.rank,.rank-head{display:flex;align-items:center}.rank-head{width:min(680px,100%);justify-content:space-between;margin-bottom:14px}.rank-title{font-size:29px;font-weight:400;letter-spacing:-.02em}.rank-edit{min-height:44px;padding:0 18px;border-radius:999px;font-size:17px;font-weight:400;color:var(--text-dim);border:1px solid var(--line)}.rank-edit.is-active{background:var(--accent);color:#fff;border-color:transparent}.rank-edit:disabled{opacity:.4}.rank-empty{color:var(--text-dim);margin-top:40px}.rank-list{width:min(680px,100%);flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;list-style:none;display:flex;flex-direction:column;gap:10px;padding-bottom:90px}.rank-row{display:grid;grid-template-columns:44px 1fr auto auto auto;align-items:center;grid-gap:12px;gap:12px;min-height:62px;padding:0 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);animation:row-in .22s ease-out}@keyframes row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rank-pos{font-size:20px;font-weight:400;color:var(--text-dim);text-align:center}.rank-1 .rank-pos{color:var(--gold)}.rank-2 .rank-pos{color:var(--silver)}.rank-3 .rank-pos{color:var(--bronze)}.rank-1{border-color:rgba(230,168,23,.5)}.rank-name{font-size:20px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-time{font-size:14px;color:var(--text-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rank-count{font-size:24px;font-weight:400;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:40px;text-align:right}.rank-del{min-height:44px;padding:0 14px;border-radius:12px;font-size:15px;font-weight:400;color:#ff6b6b;border:1px solid rgba(255,107,107,.4)}.fab-plus{position:fixed;right:calc(18px + var(--safe-r));bottom:calc(18px + var(--safe-b));font-size:33px;font-weight:400;background:var(--accent);border-color:transparent;color:#fff;z-index:40}.sheet-backdrop{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.6);display:grid;place-items:center;padding:20px;animation:fade-in .14s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sheet{width:min(460px,100%);padding:24px;border-radius:26px;background:var(--surface);border:1px solid var(--line);animation:sheet-in .22s cubic-bezier(.22,1.2,.36,1)}@keyframes sheet-in{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}.sheet-title{font-size:22px;font-weight:400;margin-bottom:16px}.sheet-input{width:100%;min-height:52px;padding:0 16px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);font-size:19px;-moz-user-select:text;user-select:text;-webkit-user-select:text}.sheet-label{margin:18px 0 10px;font-size:15px;color:var(--text-dim)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{min-width:44px;min-height:44px;padding:0 6px;border-radius:12px;font-size:18px;font-weight:400;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--line)}.chip.is-active{background:var(--accent);color:#fff;border-color:transparent}.sheet-actions{display:flex;gap:10px;margin-top:22px}.sheet-cancel,.sheet-submit{flex:1 1;min-height:52px;border-radius:14px;font-size:19px;font-weight:400}.sheet-cancel{color:var(--text-dim);border:1px solid var(--line)}.sheet-submit{background:var(--accent);color:#fff}.sheet-submit:disabled{opacity:.4}.slot-inner{display:flex;flex-direction:column;align-items:center;gap:22px;width:100%;max-width:260px;transform:scale(var(--slot-scale,1));transform-origin:center}