:root{--bg:#fbf9f6;--ink:#4d4861;--dim:#a29cb8;--p1:#a5b4fc;--p2:#99d5f2;--p3:#f9b8d8;--p4:#a8e6cf;--grad:linear-gradient(120deg, var(--p2), var(--p1) 45%, var(--p3));--line:#4d48611f;--card:#ffffffa6}*{box-sizing:border-box;margin:0}html,body,#app,#shell{height:100%}body{background:var(--bg);color:var(--ink);font-family:Space Grotesk,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;overflow:hidden}#wave{z-index:0;width:100vw;height:100dvh;position:fixed;inset:0}#bg{z-index:0;filter:blur(80px);opacity:.55;pointer-events:none;position:fixed;inset:0}#bg i{border-radius:50%;display:block;position:absolute}#bg i:first-child{background:#e3e9ff;width:50vmax;height:50vmax;animation:28s ease-in-out infinite alternate drift1;top:-18vmax;left:-10vmax}#bg i:nth-child(2){background:#ffe4f1;width:38vmax;height:38vmax;animation:34s ease-in-out infinite alternate drift2;bottom:-12vmax;right:-8vmax}#bg i:nth-child(3){background:#dcf5ec;width:24vmax;height:24vmax;animation:24s ease-in-out infinite alternate-reverse drift1;top:45%;left:58%}@keyframes drift1{to{transform:translate(8vmax,6vmax)scale(1.12)}}@keyframes drift2{to{transform:translate(-7vmax,-5vmax)scale(.92)}}header{z-index:5;justify-content:space-between;align-items:center;padding:22px 30px;display:flex;position:fixed;top:0;left:0;right:0}#brand{letter-spacing:.14em;background:linear-gradient(120deg,#7c96f5,#b58af0 55%,#f290c6);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:19px;font-weight:700;text-decoration:none}#headerRight{align-items:center;gap:7px;display:flex}#helpLink{width:24px;height:30px;color:var(--dim);opacity:.56;place-items:center;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s;display:grid}#helpLink:hover,#helpLink:focus-visible{color:#7c96f5;opacity:1;outline:none}#net{color:var(--dim);letter-spacing:.12em;cursor:pointer;background:#ffffff52;border:0;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-family:inherit;font-size:11px;transition:all .2s;display:flex}#net:hover,#net[aria-expanded=true]{color:var(--ink);background:#ffffffb8}#dot{background:#d8d4e6;border-radius:50%;width:8px;height:8px;transition:all .3s}#shell[data-live="1"] #dot{background:#7fd8b0;box-shadow:0 0 10px #7fd8b0aa}#keepMark{color:#7c96f5;letter-spacing:.06em;background:#a5b4fc33;border-radius:999px;padding:3px 6px;font-size:9px}main{z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:clamp(20px,4vh,40px);height:100%;padding:76px 20px 40px;display:flex;position:relative}#stage{text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:8px;display:flex}#pct{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink);text-shadow:0 2px 24px #ffffffa6;font-size:clamp(72px,17vmin,150px);font-weight:700;line-height:1;display:none}#shell[data-phase=sending] #pct,#shell[data-phase=receiving] #pct{display:block}#zStatus{letter-spacing:.02em;font-size:17px;font-weight:600}#zSub{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;max-width:74vw;font-size:13px;overflow:hidden}#shell[data-phase=sending] #zSub,#shell[data-phase=receiving] #zSub{color:var(--ink);opacity:.75}#loader{align-items:center;gap:8px;height:52px;display:flex}#loader i{background:var(--grad);transform-origin:50%;border-radius:999px;width:8px;height:40px;animation:1.15s ease-in-out infinite eq;box-shadow:0 4px 14px #a5b4fc59}#loader i:first-child{animation-delay:0s}#loader i:nth-child(2){animation-delay:.14s}#loader i:nth-child(3){animation-delay:.28s}#loader i:nth-child(4){animation-delay:.42s}#loader i:nth-child(5){animation-delay:.56s}@keyframes eq{0%,to{opacity:.75;transform:scaleY(.32)}50%{opacity:1;transform:scaleY(1)}}#breath{background:var(--grad);border-radius:50%;width:14px;height:14px;margin-bottom:10px;display:none;position:relative}#shell[data-phase=hosting] #breath{display:block}#breath:before,#breath:after{content:"";background:inherit;opacity:0;border-radius:50%;animation:2.6s ease-out infinite bloom;position:absolute;inset:0}#breath:after{animation-delay:1.3s}@keyframes bloom{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(4.2)}}#dropCard{flex-direction:column;align-items:center;gap:22px;display:none}#shell[data-phase=connected] #dropCard,#shell[data-phase=done] #dropCard,#shell[data-phase=offering] #dropCard{display:flex}#shell[data-phase=connected] #stage,#shell[data-phase=done] #stage,#shell[data-phase=offering] #stage{display:none}#shell[data-phase=offering] #dropRing{cursor:default;border-style:solid;border-color:#a5b4fc;animation:1.8s ease-in-out infinite ringPulse}#shell[data-phase=offering] #dropRing svg{animation:1.4s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-7px)scale(1.08)}}@keyframes ringPulse{0%,to{box-shadow:0 14px 44px #a5b4fc2e}50%{box-shadow:0 14px 54px #a5b4fc73}}#shell[data-phase=offering] #pickBtn{border:1px solid var(--line);color:var(--dim);box-shadow:none;text-shadow:none;background:0 0}#peerPill{color:#3f8a68;letter-spacing:.02em;background:#a8e6cf59;border:1px solid #7fd8b080;border-radius:999px;align-items:center;gap:8px;padding:8px 18px;font-size:13px;font-weight:600;display:flex}#peerPill i{background:#7fd8b0;border-radius:50%;width:8px;height:8px;animation:2.2s ease-in-out infinite blink;box-shadow:0 0 8px #7fd8b0}@keyframes blink{50%{opacity:.45}}#dropRing{cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff80;border:2px dashed #c3cdfa;border-radius:32px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:min(58vmin,320px);height:min(42vmin,250px);transition:transform .25s cubic-bezier(.2,1.4,.4,1),border-color .25s,background .25s;display:flex;box-shadow:0 14px 44px #a5b4fc2e}#dropRing:hover,#shell.dragover #dropRing{background:#ffffffb8;border-color:#a5b4fc;transform:scale(1.03)}#dropRing svg{filter:drop-shadow(0 6px 14px #a5b4fc73);width:54px;height:54px;margin-bottom:4px}#dropRing.dropDone svg{filter:drop-shadow(0 6px 14px #7fd8b080)}#cardTitle{font-size:17px;font-weight:700}#cardSub{color:var(--dim);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:13px;display:-webkit-box;overflow:hidden}#pickBtn{background:var(--grad);color:#fff;cursor:pointer;text-shadow:0 1px 6px #4d486140;border:0;border-radius:999px;padding:13px 34px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s;box-shadow:0 8px 26px #a5b4fc73}#pickBtn:hover{filter:brightness(1.05);transform:translateY(-1px)}#actionRow{align-items:center;gap:10px;display:flex}#clipBtn{background:var(--card);border:1px solid var(--line);color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:13px 22px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}#clipBtn:hover{border-color:var(--p1);color:#7c96f5;transform:translateY(-1px)}#shell[data-phase=offering] #clipBtn{display:none}#invite{align-items:center;gap:clamp(18px,4vw,40px);transition:opacity .4s,transform .4s;display:flex}#shell:not([data-phase=hosting]) #invite{opacity:0;pointer-events:none;position:absolute;transform:translateY(14px)}#tokenWrap{flex-direction:column;gap:5px;display:flex}#tokenLbl{letter-spacing:.32em;color:var(--dim);text-transform:uppercase;font-size:11px}#token{letter-spacing:.06em;background:linear-gradient(120deg,#7c96f5,#b58af0 48%,#f290c6);color:#0000;font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text;font-size:clamp(48px,11vw,92px);font-weight:700;line-height:1}#copyLink{background:var(--card);border:1px solid var(--line);color:var(--ink);cursor:pointer;letter-spacing:.04em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;align-self:flex-start;margin-top:8px;padding:8px 18px;font-family:inherit;font-size:12px;transition:all .2s}#copyLink:hover{border-color:var(--p1);color:#7c96f5}#qrCard{background:#fff;border-radius:18px;width:108px;height:108px;padding:10px;box-shadow:0 10px 36px #a5b4fc59}#joinBar{gap:10px;width:min(90vw,360px);transition:opacity .4s;display:flex}#shell:not([data-phase=hosting]) #joinBar{opacity:0;pointer-events:none;position:absolute}#joinInput{background:var(--card);border:1px solid var(--line);color:var(--ink);letter-spacing:.35em;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;outline:none;flex:1;padding:14px 20px;font-family:inherit;font-size:17px;transition:all .2s}#joinInput:focus{border-color:var(--p1);box-shadow:0 0 0 4px #a5b4fc40}#joinInput::placeholder{letter-spacing:.05em;color:var(--dim)}#joinBtn{background:var(--grad);color:#fff;cursor:pointer;text-shadow:0 1px 6px #4d486140;border:0;border-radius:999px;padding:14px 28px;font-family:inherit;font-size:15px;font-weight:700;transition:all .2s;box-shadow:0 6px 22px #a5b4fc66}#joinBtn:hover{filter:brightness(1.05);transform:translateY(-1px)}#shell.dragover main{transform:scale(1.015)}main{transition:transform .25s cubic-bezier(.2,1.4,.4,1)}#modalWrap{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:#fbf9f68c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#modal{border:1px solid var(--line);text-align:center;background:#ffffffd9;border-radius:26px;width:min(88vw,340px);padding:32px;box-shadow:0 20px 60px #4d486124}#modal h3{margin-bottom:8px;font-size:17px}#modal .file{color:var(--dim);word-break:break-all;margin-bottom:22px;font-size:13px}#modal .btns{gap:10px;display:flex}#modal .btns button{cursor:pointer;border-radius:999px;flex:1;padding:13px 0;font-family:inherit;font-size:14px;font-weight:600}#declineBtn{border:1px solid var(--line);color:var(--dim);background:0 0}#acceptBtn{background:var(--grad);color:#fff;border:0;box-shadow:0 6px 18px #a5b4fc66}#endConfirmBtn{color:#fff;background:#ef8f9b;border:0;box-shadow:0 6px 18px #ef8f9b4d}#sessionShade{z-index:8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#4d486114;position:fixed;inset:0}#sessionPanel{border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffe6;border-radius:26px;width:min(390px,100vw - 32px);padding:24px;position:absolute;top:68px;right:24px;box-shadow:0 24px 70px #4d486129}.sessionHead{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.sessionHead h2{letter-spacing:-.02em;font-size:20px}.eyebrow{color:var(--dim);letter-spacing:.2em;margin-bottom:5px;font-size:9px;display:block}.iconBtn{width:32px;height:32px;color:var(--dim);cursor:pointer;background:#4d48610d;border:0;border-radius:50%;font-size:22px;line-height:1}.sessionStatus{background:#a8e6cf29;border:1px solid #7fd8b040;border-radius:18px;gap:12px;margin-bottom:16px;padding:15px;display:flex}.sessionStatus>i{background:#d8d4e6;border-radius:50%;flex:none;width:9px;height:9px;margin-top:4px}.sessionStatus>i.on{background:#7fd8b0;box-shadow:0 0 8px #7fd8b0}.sessionStatus div,.sessionAction>span:first-child{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.sessionStatus strong,.sessionAction strong{color:var(--ink);font-size:13px}.sessionStatus span,.sessionAction small{color:var(--dim);text-align:left;font-family:inherit;font-size:11px}.sessionAction{cursor:pointer;background:0 0;border:0;border-radius:17px;justify-content:space-between;align-items:center;width:100%;padding:14px;font-family:inherit;transition:all .2s;display:flex}.sessionAction:hover{background:#a5b4fc17}.toggle{background:#dedbe8;border-radius:999px;width:38px;height:22px;padding:3px;transition:all .25s}.toggle i{background:#fff;border-radius:50%;width:16px;height:16px;transition:all .25s;display:block;box-shadow:0 2px 6px #4d48612e}.keepAction.active .toggle{background:#9bacef}.keepAction.active .toggle i{transform:translate(16px)}.sessionRule{background:var(--line);height:1px;margin:5px 14px}.endAction strong{color:#c96574}#toast{border:1px solid var(--line);color:var(--ink);opacity:0;pointer-events:none;z-index:20;background:#ffffffe6;border-radius:999px;padding:11px 22px;font-size:13px;transition:all .3s;position:fixed;bottom:30px;left:50%;transform:translate(-50%)translateY(6px);box-shadow:0 8px 30px #4d48611f}#toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=640px){header{padding:16px 20px}#headerRight{gap:5px}#netTxt{display:none}main{gap:22px;padding:66px 16px 30px}#invite{flex-direction:column;gap:18px}#tokenWrap{text-align:center;align-items:center}#token{white-space:nowrap;font-size:clamp(38px,13vw,60px)}#copyLink{align-self:center}#qrCard{width:108px;height:108px}#dropRing{width:min(86vw,320px);height:210px}#actionRow{flex-direction:column;gap:8px;width:min(86vw,320px)}#pickBtn,#clipBtn{width:100%}#joinBar{width:100%;max-width:340px}#sessionShade{align-items:flex-end;display:flex}#sessionPanel{width:100%;padding:26px 20px max(26px, env(safe-area-inset-bottom));border-radius:28px 28px 0 0;position:relative;inset:auto}}#finish{text-align:center;flex-direction:column;align-items:center;gap:0;padding:8px 24px 24px;animation:.5s cubic-bezier(.2,.9,.3,1) both finishIn;display:flex}@keyframes finishIn{0%{opacity:0;transform:translateY(10px)}}#finishMark{place-items:center;margin-bottom:18px;display:grid}#finishMark svg{filter:drop-shadow(0 8px 18px #a5b4fc57);width:56px;height:70px;animation:.55s cubic-bezier(.2,1.3,.4,1) both dropIn}@keyframes dropIn{0%{opacity:0;transform:translateY(-8px)scale(.86)}}#finish[data-kind=expired] #finishMark svg{color:var(--dim);opacity:.5;filter:none}#finish[data-kind=failed] #finishMark svg{color:#c96574;filter:drop-shadow(0 6px 14px #c9657438)}#finish[data-kind=failed] #finishTitle{color:#a34c5c}#finishHint{color:#a34c5c;background:#f9b8d83d;border-radius:999px;margin-top:12px;padding:7px 15px;font-size:12.5px}#finishTitle{letter-spacing:-.01em;color:var(--ink);font-size:26px;font-weight:700}#finishSub{color:var(--dim);word-break:break-all;margin-top:8px;font-size:15px}#pitch{background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;width:100%;max-width:380px;margin-top:30px;padding:20px 22px}#pitchLead{color:var(--ink);font-size:14px;line-height:1.5}#pitchLead b{letter-spacing:.1em;background:linear-gradient(120deg,#7c96f5,#b58af0 55%,#f290c6);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700}#pitchList{text-align:left;gap:9px;margin:14px 0 0;padding:0;list-style:none;display:grid}#pitchList li{color:var(--dim);grid-template-columns:22px 1fr;align-items:start;gap:8px;font-size:13px;line-height:1.5;display:grid}#pitchList b{color:var(--ink);font-weight:600}#pitchList i{color:#7c96f5;background:#a5b4fc38;border-radius:7px;place-items:center;width:22px;height:22px;font-size:12px;font-style:normal;font-weight:700;display:grid}#finishCta{background:var(--grad);color:#fff;border-radius:999px;margin-top:24px;padding:14px 34px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .2s,filter .2s;display:inline-block;box-shadow:0 8px 22px #a5b4fc6b}#finishCta:hover{filter:brightness(1.05);transform:translateY(-1px)}#finishNote{color:var(--dim);opacity:.75;margin-top:14px;font-size:12px}#shell[data-oneshot="1"] #net{display:none}@media (height<=640px){#finishMark{margin-bottom:12px}#finishMark svg{width:42px;height:53px}#finishTitle{font-size:22px}#pitch{margin-top:20px;padding:16px 18px}#finishCta{margin-top:18px;padding:12px 28px}}
