:root{font-family:Inter,Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;--sky: #0ea5e9;--sky-dark: #0284c7;--sky-soft: #e0f2fe;--slate: #475569;--border: #dbe4ef;--shadow: 0 22px 55px -32px rgb(14 165 233 / .42)}*{box-sizing:border-box}html{min-width:320px;background:#f8fafc}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 12% 0%,rgb(224 242 254 / .8),transparent 30rem),radial-gradient(circle at 88% 24%,rgb(219 234 254 / .55),transparent 28rem),linear-gradient(145deg,#f8fafc,#f0f9ff 52%,#f8fafc)}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgb(14 165 233 / .28);outline-offset:2px}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-shell main{flex:1}.site-header{position:sticky;top:0;z-index:30;height:68px;border-bottom:1px solid rgb(203 213 225 / .55);background:#ffffffc2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-inner{width:min(1120px,calc(100% - 32px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{display:inline-block;padding-inline-end:.04em;font-size:1.15rem;line-height:1.1;letter-spacing:-.03em}.brand small{margin-top:2px;color:var(--sky-dark);font-size:.61rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.logo-mark{width:40px;height:40px;display:grid;place-items:center;border:1px solid #dce5ee;border-radius:13px;background:#fff;box-shadow:0 5px 16px #0f172a12}.logo-mark svg{width:30px;height:30px;fill:#1e293b;stroke:#1e293b;stroke-width:3;stroke-linecap:round}.logo-mark .outline{fill:none;stroke-width:2.5}.mvp-badge{border:1px solid #bae6fd;border-radius:999px;padding:6px 10px;background:#f0f9ff;color:#0369a1;font-size:.7rem;font-weight:700}footer{padding:28px 16px;color:#94a3b8;font-size:.75rem;text-align:center}.page-width{width:min(1100px,calc(100% - 32px));margin-inline:auto}.narrow{max-width:680px}.landing{padding-block:58px 30px}.hero{max-width:790px;margin:0 auto 50px;text-align:center;animation:rise .45s ease-out both}.eyebrow{width:fit-content;display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid #bae6fd;border-radius:999px;background:#f0f9ffcc;color:#0369a1;font-size:.76rem;font-weight:750}.eyebrow.subtle{padding:5px 9px;border-color:#d8eefb;font-size:.7rem}.eyebrow.success{border-color:#a7f3d0;background:#ecfdf5;color:#047857}.hero h1{margin:24px 0 18px;color:#0f172a;font-size:clamp(2.45rem,7vw,4.5rem);line-height:1.13;letter-spacing:-.065em;font-weight:850}.hero h1 span{display:inline-block;padding-inline-end:.07em;background:linear-gradient(100deg,#0ea5e9,#06b6d4,#2563eb);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{margin:0;color:#526176;font-size:clamp(1rem,2vw,1.15rem);line-height:1.8}.button{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:13px;padding:10px 17px;cursor:pointer;font-weight:750;transition:transform .15s,box-shadow .2s,background .2s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{cursor:not-allowed;opacity:.55}.button.primary{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;box-shadow:0 10px 25px -12px #0284c7}.button.primary:hover:not(:disabled){box-shadow:0 13px 28px -11px #0284c7}.button.secondary{border:1px solid #d6e0ea;background:#ffffffd9;color:#334155}.button.danger-outline{border:1px solid #fecaca;background:snow;color:#b91c1c}.button.wide{width:100%}.hero-cta{min-height:56px;margin-top:31px;padding-inline:27px;border-radius:17px;font-size:1.05rem}.glass-card{border:1px solid rgb(255 255 255 / .9);background:#ffffffc2;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{padding:25px;border-radius:22px}.feature>span{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#e0f2fe;color:#0284c7}.feature h2{margin:18px 0 8px;font-size:1rem}.feature p{margin:0;color:#64748b;font-size:.82rem;line-height:1.65}.how-card{margin-top:20px;padding:28px;border:1px solid #dceaf4;border-radius:22px;background:#f0f9ff85}.how-card h2{margin:0 0 22px;color:#0369a1;font-size:.75rem;letter-spacing:.1em;text-align:center;text-transform:uppercase}.how-card>div{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.how-step{display:flex;align-items:center;gap:10px}.how-step b{width:25px;height:25px;display:grid;place-items:center;flex:none;border-radius:50%;background:#0ea5e9;color:#fff;font-size:.72rem}.how-step span{color:#38bdf8}.how-step strong{font-size:.83rem}.form-page{padding-block:50px}.create-card,.join-card{padding:clamp(24px,5vw,42px);border-radius:28px}.progress-head{display:flex;align-items:center;justify-content:space-between}.progress-head>span{border-radius:7px;padding:5px 9px;background:#e0f2fe;color:#0369a1;font-size:.7rem;font-weight:800;text-transform:uppercase}.text-button{border:0;padding:5px;background:transparent;color:#64748b;cursor:pointer;font-size:.78rem;font-weight:700}.progress-track{height:7px;margin:12px 0 30px;overflow:hidden;border-radius:99px;background:#e8eef4}.progress-track>div{height:100%;border-radius:inherit;background:#0ea5e9;transition:width .3s ease}.form-step{display:grid;gap:22px;animation:rise .28s ease both}.section-heading h1,.section-heading h2{margin:0;color:#0f172a;font-size:clamp(1.45rem,3vw,1.9rem);line-height:1.25;letter-spacing:-.035em}.section-heading p{margin:8px 0 0;color:#64748b;line-height:1.6;font-size:.87rem}.section-heading.centered{margin-bottom:28px;text-align:center}.section-heading.centered .eyebrow{margin-bottom:14px}.inline-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.inline-heading h3{margin:0;font-size:.95rem}.inline-heading p{margin:4px 0 0;color:#64748b;font-size:.75rem}.field{min-width:0;display:grid;gap:8px;color:#334155;font-size:.78rem;font-weight:750}.field>span,.field legend{letter-spacing:.02em}.field small{color:#94a3b8;font-weight:500}.field input,.field textarea{width:100%;border:1px solid #d5e0eb;border-radius:12px;padding:12px 14px;background:#ffffffd1;color:#172033;outline:0;font-size:.88rem;font-weight:500;transition:border .15s,box-shadow .15s}.field textarea{resize:vertical;line-height:1.65}.field input:focus,.field textarea:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf821;background:#fff}.field-error{color:#dc2626!important;font-size:.72rem!important}.character-count{margin-top:-3px;text-align:right}fieldset.field{margin:0;border:0;padding:0}fieldset.field legend{margin-bottom:9px}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.mode-grid button{min-height:69px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid #d7e0e8;border-radius:12px;background:#ffffff8c;color:#475569;cursor:pointer}.mode-grid button.selected{border-color:#38bdf8;background:#f0f9ff;color:#0369a1;box-shadow:0 7px 20px -15px #0284c7}.mode-grid small{color:inherit;font-size:.65rem;opacity:.75}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two-columns label{display:grid;gap:6px;color:#64748b;font-size:.7rem}.actions{display:flex;align-items:center;gap:10px;padding-top:7px}.actions.end{justify-content:flex-end}.actions.between{justify-content:space-between}.policy-card{border:1px solid #d9e2ec;border-radius:15px;padding:16px;background:#ffffff8c;transition:.18s}.policy-card.selected{border-color:#38bdf8;background:#f0f9ff;box-shadow:0 10px 25px -20px #0284c7}.policy-card>label{display:flex;align-items:center;gap:12px;cursor:pointer}.policy-card input[type=checkbox]{width:17px;height:17px;accent-color:#0ea5e9}.policy-card label>span:last-child{display:flex;flex-direction:column;gap:2px}.policy-card label small{color:#718096;font-size:.7rem}.policy-icon{color:#0ea5e9}.policy-content{margin:15px 0 0 29px}.alert{display:flex;align-items:flex-start;gap:8px;border-radius:11px;padding:11px 13px;font-size:.78rem;line-height:1.5}.alert.error{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c}.alert.success{border:1px solid #bbf7d0;background:#f0fdf4;color:#15803d}.alert.warning{border:1px solid #fde68a;background:#fffbeb;color:#92400e}.room-page{padding-block:34px}.room-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;padding:24px 27px;border-radius:22px}.room-kicker{color:#0284c7;font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.room-header h1{margin:5px 0 6px;font-size:clamp(1.45rem,4vw,2rem);letter-spacing:-.04em}.room-header p{margin:0;color:#64748b;font-size:.8rem}.join-card{text-align:center}.join-card h1{margin:13px 0 8px;font-size:1.8rem}.join-card>p{color:#64748b;font-size:.85rem;line-height:1.6}.join-card form{display:grid;gap:17px;margin-top:26px;text-align:left}.large-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 15px;border-radius:18px;background:linear-gradient(145deg,#e0f2fe,#dbeafe);color:#0284c7}.large-icon svg{width:29px;height:29px}.privacy-note{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:20px!important;color:#7c8ba0!important;font-size:.72rem!important}.submission-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:20px}.submission-card{min-width:0;display:grid;gap:27px;padding:clamp(22px,4vw,34px);border-radius:22px}.submission-card .section-heading .eyebrow{margin-bottom:10px}.submission-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #e6edf3;padding-top:20px}.saved-revision{display:inline-flex;align-items:center;gap:6px;color:#15803d;font-size:.75rem;font-weight:700}.room-sidebar{display:grid;gap:15px}.side-card{padding:19px;border-radius:17px}.side-card h3{margin:0 0 16px;font-size:.86rem}.side-card>p{margin:-5px 0 15px;color:#718096;font-size:.72rem;line-height:1.55}.status-line{display:flex;gap:10px;margin-top:13px}.status-line>span{color:#38bdf8}.status-line>div{min-width:0;display:flex;flex-direction:column;gap:2px}.status-line small{color:#94a3b8;font-size:.65rem}.status-line strong{overflow:hidden;color:#475569;font-size:.72rem;text-overflow:ellipsis}.inline-loading{display:flex;align-items:center;gap:8px;color:#64748b;font-size:.8rem}.time-grid-section{min-width:0;display:grid;gap:12px}.grid-scroll{width:100%;max-height:480px;overflow:auto;border:1px solid #dce5ed;border-radius:14px;background:#fff;overscroll-behavior:contain}.time-grid{width:max-content;display:grid}.grid-row-fragment{display:contents}.grid-corner,.time-label{position:sticky;top:0;z-index:4;height:35px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #dfe7ee;background:#f8fafc;color:#64748b;font-size:.58rem}.grid-corner{left:0;z-index:6}.time-label.minor{border-left:1px dashed #edf2f7}.row-label{position:sticky;left:0;z-index:3;height:31px;display:flex;align-items:center;border-right:1px solid #dfe7ee;border-bottom:1px solid #eef2f6;padding-left:10px;background:#f8fafc;color:#475569;font-size:.65rem;font-weight:700;white-space:nowrap}.time-cell{width:32px;height:31px;border:0;border-right:1px solid #f1f5f9;border-bottom:1px solid #eef2f6;padding:0;background:#fff;cursor:crosshair}.time-cell:nth-of-type(2n){border-right-color:#e2e8f0}.time-cell:hover{background:#e0f2fe}.time-cell.selected{background:#38bdf8;box-shadow:inset 0 0 0 1px #ffffff40}.time-cell:disabled{cursor:not-allowed;opacity:.7}.field-hint{margin:0;color:#94a3b8;font-size:.68rem;line-height:1.5}.center-state{width:min(610px,calc(100% - 32px));margin:70px auto;padding:clamp(30px,6vw,52px);border-radius:26px;text-align:center}.center-state h1{margin:0 0 10px;font-size:clamp(1.4rem,4vw,1.9rem);letter-spacing:-.035em}.center-state>p{max-width:450px;margin:0 auto 23px;color:#64748b;font-size:.85rem;line-height:1.65}.center-state .button{margin-top:5px}.center-state .alert{margin:15px 0}.text-link{display:block;width:fit-content;margin:22px auto 0;color:#64748b;font-size:.74rem;text-decoration:underline;text-underline-offset:3px}.spin{animation:spin 1s linear infinite}.results-section{padding-block:25px}.candidate-list{max-width:780px;display:grid;gap:16px;margin:auto}.candidate-list.single{max-width:680px}.candidate-card{position:relative;overflow:hidden;border:1px solid #dce5ed;border-radius:21px;padding:24px;background:#ffffffdb;box-shadow:0 18px 45px -35px #0369a1}.candidate-card:before{position:absolute;inset:0 auto 0 0;width:5px;background:#38bdf8;content:""}.candidate-card.plan-b:before{background:#818cf8}.candidate-card.plan-c:before{background:#f59e0b}.candidate-card.confirmed{border-color:#86efac;box-shadow:0 18px 45px -30px #16a34a}.candidate-top{display:flex;align-items:center;justify-content:space-between}.plan-chip{border-radius:7px;padding:5px 8px;background:#e0f2fe;color:#0369a1;font-size:.69rem;font-weight:850}.rank{color:#94a3b8;font-size:.67rem;font-weight:700}.candidate-card h3{margin:17px 0 14px;font-size:1.08rem;line-height:1.55}.candidate-meta{display:flex;flex-wrap:wrap;gap:13px;color:#526176;font-size:.75rem}.candidate-meta span,.time-options span{display:inline-flex;align-items:center;gap:6px}.time-options{display:grid;gap:7px;margin:16px 0;border-radius:12px;padding:13px;background:#f8fafc;color:#475569;font-size:.72rem}.confirmed-label{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:16px;color:#15803d;font-size:.8rem;font-weight:800}.candidate-card .button{margin-top:7px}.unapplied{max-width:780px;margin:18px auto 0;border-radius:16px;padding:17px 20px}.unapplied summary{cursor:pointer;color:#92400e;font-size:.78rem;font-weight:750}.unapplied article{margin-top:13px;border-top:1px solid #e7edf3;padding-top:13px}.unapplied article strong{font-size:.76rem}.unapplied article p{margin:5px 0;color:#475569;font-size:.76rem}.unapplied article small{color:#94a3b8}.result-copy{display:flex;margin:18px auto 0}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:780px){.landing{padding-top:38px}.feature-grid{grid-template-columns:1fr}.feature{display:grid;grid-template-columns:44px 1fr;column-gap:15px;padding:19px}.feature h2{align-self:end;margin:0 0 3px}.feature p{grid-column:2}.how-card>div{grid-template-columns:1fr}.submission-layout{grid-template-columns:1fr}.room-sidebar{grid-template-columns:1fr 1fr}.room-header{align-items:flex-start;flex-direction:column}}@media(max-width:540px){.header-inner,.page-width{width:min(100% - 24px,1100px)}.mvp-badge{display:none}.hero h1{font-size:2.08rem;line-height:1.18}.hero p{font-size:.94rem}.two-columns,.mode-grid,.room-sidebar{grid-template-columns:1fr}.mode-grid{gap:7px}.mode-grid button{min-height:55px}.room-header .button{width:100%}.submission-footer{align-items:stretch;flex-direction:column}.submission-footer .button{width:100%}.candidate-card{padding:20px}.candidate-meta{flex-direction:column}}
