:root{--ink: #191F28;--sub: #4E5968;--sub2: #66707C;--fill: #F2F4F6;--line: #E5E8EB;--check: #D1D6DB;--chev: #C5CAD0;--bg: #FFFFFF;--danger: #D23B3B;--accent: #3B5BFF;--accent-weak: #EAEEFF;--radius: 14px;--chip: 8px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Pretendard,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;color:var(--ink);background:var(--bg);word-break:keep-all;letter-spacing:-.2px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}input,textarea{font:inherit;color:inherit}.num{font-variant-numeric:tabular-nums}.page{max-width:1040px;margin:0 auto;padding:8px 24px 64px}.page.narrow{max-width:600px}.title{font-size:22px;font-weight:800;line-height:1.3;margin:14px 0 6px}.lead{font-size:15px;color:var(--sub);margin:0 0 16px;line-height:1.5}.meta{font-size:12px;color:var(--sub2);font-weight:500;line-height:1.4}.section-head{display:flex;justify-content:space-between;align-items:baseline;margin:22px 0 4px}.section-head .h{font-size:15px;font-weight:700}.section-head .n{font-size:12px;color:var(--sub2);font-weight:500}.row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.row .t{font-size:16px;font-weight:600;line-height:1.35}.row .right{font-size:15px;font-weight:700;flex:none}.card{background:var(--fill);border-radius:var(--radius);padding:14px 16px}.card+.card{margin-top:10px}.card .t{font-size:16px;font-weight:700;line-height:1.4}.card .s{font-size:12px;color:var(--sub2);margin-top:3px;font-weight:500}.btn{height:48px;border-radius:var(--radius);font-weight:700;font-size:15px;border:0;width:100%;display:inline-flex;align-items:center;justify-content:center}.btn.primary{background:var(--ink);color:#fff}.btn.primary:disabled{background:var(--line);color:var(--sub2);cursor:default}.btn.secondary{background:var(--fill);color:var(--ink)}.btn.text{background:transparent;color:var(--sub);height:40px;font-weight:600;font-size:14px;width:auto;padding:0 8px}.btn.small{height:36px;font-size:13px;width:auto;padding:0 14px;border-radius:10px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:13px;font-weight:700;color:var(--sub);background:var(--fill);border-radius:var(--chip);padding:7px 11px;border:0;white-space:nowrap}.chip.on{background:var(--ink);color:#fff}.field{display:flex;flex-direction:column;gap:6px;margin:14px 0}.field label{font-size:13px;font-weight:700;color:var(--sub)}.field input,.field textarea{border:0;background:var(--fill);border-radius:var(--radius);padding:12px 14px;font-size:15px;line-height:1.5;outline:none;width:100%}.field textarea{min-height:160px;resize:vertical}.field.error input,.field.error textarea{outline:2px solid var(--danger)}.hint{font-size:12px;color:var(--sub2);line-height:1.5}.hint.danger{color:var(--danger)}.notice-line{font-size:12px;color:var(--sub);background:var(--fill);border-radius:10px;padding:10px 12px;line-height:1.5}.sticky-bottom{position:fixed;left:0;right:0;bottom:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.sticky-bottom .inner{max-width:440px;margin:0 auto;display:flex;gap:8px}.header{position:sticky;top:0;background:#fff;z-index:10;display:flex;align-items:center;gap:12px;height:56px;margin:0 -20px;padding:0 20px}.header .back{width:36px;height:36px;border-radius:18px;background:var(--fill);border:0;display:inline-flex;align-items:center;justify-content:center;flex:none}.header .h{flex:1;font-size:17px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header .spacer{width:36px;flex:none}@media(prefers-reduced-motion:no-preference){.cursor{display:inline-block;width:2px;height:1em;background:var(--ink);vertical-align:-.15em;margin-left:2px;animation:blink 1s steps(2) infinite}@keyframes blink{to{opacity:0}}}.tabs{position:fixed;left:50%;transform:translate(-50%);bottom:calc(12px + env(safe-area-inset-bottom));display:flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:6px;box-shadow:0 6px 24px #191f281a;z-index:30}.tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:16px;font-size:13px;font-weight:700;color:var(--sub2);white-space:nowrap}.tab.on{background:var(--ink);color:#fff}.page.with-tabs{padding-bottom:120px}.empty{text-align:center;padding:48px 0 24px}.empty .big{font-size:22px;font-weight:800;line-height:1.3}.empty .sub{font-size:14px;color:var(--sub);margin-top:8px;line-height:1.5}.pass{border:1px solid var(--line);border-radius:16px;padding:18px 20px 18px 40px;margin-top:10px;display:flex;flex-direction:column;gap:0;position:relative;transition:background-color .12s}.pass .band{position:absolute;left:20px;top:22px;width:8px;height:8px;border-radius:2px;padding:0}.pass .head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:4px}.pass .name{font-size:18px;font-weight:700;line-height:1.35;letter-spacing:-.3px;text-wrap:balance}.pass>.meta{text-wrap:pretty}.pass .dday{font-size:22px;font-weight:700;letter-spacing:-.5px;line-height:1.2;flex:none}.pass .dday.urgent{color:var(--danger)}.topline{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.topline .big{font-size:22px;font-weight:800}.site{min-height:100vh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.site-inner{max-width:1040px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:20px;min-height:60px}.brand{font-size:18px;font-weight:800;letter-spacing:-.4px;white-space:nowrap}.site-nav{display:flex;gap:4px;flex-wrap:wrap}.nav-link{padding:8px 12px;border-radius:10px;font-size:14px;font-weight:600;color:var(--sub)}.nav-link:hover{background:var(--fill)}.nav-link.on{color:var(--ink);background:var(--fill);font-weight:700}.site-who{margin-left:auto;font-size:13px;color:var(--sub2);white-space:nowrap}.site-who:hover{color:var(--ink)}.site-main{flex:1}.site-footer{border-top:1px solid var(--line);margin-top:40px;font-size:12px;color:var(--sub2)}.site-footer .site-inner{min-height:52px;gap:16px;flex-wrap:wrap}.site-footer a{text-decoration:underline}.page-head{margin:18px 0 8px}.back-link{font-size:13px;color:var(--sub2);display:inline-block;margin-bottom:6px}.back-link:hover{color:var(--ink)}.h1{font-size:26px;font-weight:800;line-height:1.3;margin:0;letter-spacing:-.5px}.cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}.cols>div>:first-child{margin-top:0}.topline+.cols{margin-top:16px}.page-head+.cols{margin-top:16px}.aside{position:sticky;top:76px}.aside .btns{gap:6px}.aside .btns .btn{height:40px;font-size:14px;border-radius:10px}.card-box{border:1px solid var(--line);border-radius:16px;padding:16px 18px}@media(max-width:760px){.site-inner{padding:8px 16px;gap:10px;flex-wrap:wrap;min-height:0}.site-who{display:none}.site-nav{flex:0 0 calc(100% + 32px);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}.site-nav::-webkit-scrollbar{display:none}.nav-link{flex:none;padding:8px 10px}.page{padding:4px 16px 48px}.page:has(.sticky-bottom){padding-bottom:120px}.cols{grid-template-columns:1fr}.aside{position:static}.h1{font-size:22px}.who-line+.topline{margin-top:4px}.pass{padding:16px 16px 16px 36px}.pass .band{left:16px;top:20px}.pass .name{font-size:17px}.pass .dday{font-size:20px}}@media(min-width:761px){.sticky-bottom{position:static;border:0;padding:20px 0 0}.sticky-bottom .inner{max-width:600px;margin:0}.header,.who-line{display:none}.page.narrow{max-width:1040px}.page.narrow>:not(.overlay,.toast){max-width:640px}}.badge{display:inline-block;min-width:18px;height:18px;border-radius:9px;background:var(--danger);color:#fff;font-size:11px;font-weight:800;line-height:18px;text-align:center;margin-left:6px;padding:0 5px;vertical-align:1px}.dropzone{border:2px dashed var(--line);border-radius:var(--radius);padding:28px 16px;text-align:center;background:#fff;cursor:pointer}.dropzone.over{border-color:var(--ink);background:var(--fill)}.dropzone .big{font-size:16px;font-weight:700}.dropzone .sm{font-size:12px;color:var(--sub2);margin-top:6px}.dropzone input{display:none}.qlist{display:flex;flex-direction:column}.qitem{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}.qitem:last-child{border-bottom:0}.qitem input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--ink);flex:none}.qitem .q{font-size:15px;font-weight:600;line-height:1.45}.qitem .tag{font-size:11px;color:var(--sub2);font-weight:600;margin-left:6px;background:var(--fill);border-radius:6px;padding:2px 6px}.lines{max-height:50vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}.line{padding:10px 12px;font-size:14px;border-bottom:1px solid var(--line);cursor:pointer}.line:last-child{border-bottom:0}.line.on{background:var(--fill);font-weight:700}.callout{border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.5}.callout.warn{background:#fff4e5;color:#7a4b00}.callout .q{display:block;margin-top:4px;color:var(--sub);font-size:12px}.consent{display:flex;gap:10px;align-items:flex-start;background:var(--fill);border-radius:var(--radius);padding:12px 14px;margin-top:16px}.consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--ink);flex:none}.consent .t{font-size:13px;line-height:1.5}.consent a{text-decoration:underline}.dcard{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-top:12px}.dcard .q{font-size:15px;font-weight:700;line-height:1.45}.dcard .body{white-space:pre-wrap;font-size:15px;line-height:1.7;margin-top:10px;min-height:24px}.dcard .foot{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.dcard .foot .meta{margin-right:auto}.dcard textarea{width:100%;min-height:140px;border:0;background:var(--fill);border-radius:10px;padding:10px 12px;font-size:15px;line-height:1.6;margin-top:10px;resize:vertical}.rewrite{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;align-items:center}.rewrite input{flex:1;min-width:140px;border:0;background:var(--fill);border-radius:10px;padding:8px 10px;font-size:14px}.notice-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.notice-row .dot{width:8px;height:8px;border-radius:2px;flex:none;background:var(--sub2);align-self:flex-start;margin-top:7px}.notice-row .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.notice-row .t{font-size:16px;font-weight:700;line-height:1.35}.notice-row .dday{font-size:15px;font-weight:700;flex:none}.notice-row .meta{text-wrap:pretty}.dday{font-weight:700}details.quote{margin-top:4px}details.quote summary{font-size:12px;color:var(--sub2);cursor:pointer;list-style:none}details.quote summary::-webkit-details-marker{display:none}details.quote p{font-size:13px;color:var(--sub);background:var(--fill);border-radius:8px;padding:8px 10px;margin:6px 0 0;line-height:1.5}.doc-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.doc-row .body{flex:1;min-width:0}.doc-row .t{font-size:15px;font-weight:600}.privacy h2{font-size:16px;font-weight:800;margin:20px 0 6px}.privacy p,.privacy li{font-size:14px;line-height:1.6;color:var(--sub)}.privacy ul{padding-left:18px;margin:0}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:96px;background:var(--ink);color:#fff;font-size:13px;font-weight:600;padding:10px 14px;border-radius:12px;z-index:20}.xfer{width:100%;border-collapse:collapse;margin:8px 0;font-size:13px}.xfer th{text-align:left;vertical-align:top;width:92px;padding:8px 8px 8px 0;color:var(--ink);font-weight:700;border-bottom:1px solid var(--line)}.xfer td{padding:8px 0;color:var(--sub);line-height:1.5;border-bottom:1px solid var(--line)}.hero{padding:36px 0 8px}.hero-title{font-size:34px;font-weight:800;line-height:1.3;letter-spacing:-.8px;margin:0 0 14px}.hero-lead{font-size:16px;color:var(--sub);line-height:1.6;max-width:680px;margin:0 0 20px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-actions .btn{width:auto;padding:0 22px}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}.feature{border:1px solid var(--line);border-radius:16px;padding:18px 20px;display:block}.feature:hover{background:var(--fill)}.f-title{font-size:16px;font-weight:800;margin-bottom:6px}.f-body{font-size:14px;color:var(--sub);line-height:1.55}@media(max-width:760px){.features{grid-template-columns:1fr}.hero-title{font-size:26px}}.pass.static{cursor:default}.pass:hover:not(.static){background:var(--fill)}.pass .foot{font-size:13px;color:var(--sub);font-weight:500;margin-top:8px}.pass .changed{color:var(--danger);font-weight:700;margin-top:4px}.row.mine-feed{border-bottom:0;background:var(--fill);border-radius:14px;padding:12px 16px;margin:16px 0 14px}.row.mine-feed .t{font-size:14px;font-weight:600}.row.mine-feed:hover{background:var(--line)}.card-box.mine-side{padding:2px 18px}.mine-side .row{padding:14px 0}.mine-side .row .t{font-size:15px}@media(max-width:760px){.card-box.mine-side{border:0;padding:0;margin-top:0}.cols:has(>.mine-side){row-gap:12px}}.pass .band.manual{background:var(--chev)}.progress-line{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--sub);font-weight:500;margin-top:10px}.change-line{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--fill);font-size:13px;font-weight:600;margin-top:12px}.change-line .chev{margin-left:auto;color:var(--chev)}.next-task{margin-top:26px}.next-task .k{font-size:12px;color:var(--sub2);font-weight:600}.next-task .t{font-size:24px;font-weight:800;letter-spacing:-.6px;margin-top:6px;line-height:1.25}.next-task .w{font-size:14px;color:var(--accent);font-weight:500;margin-top:4px}.step-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.step-check{width:24px;height:24px;border-radius:12px;border:1.5px solid var(--check);background:#fff;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0;color:transparent}.step-check.on{background:var(--ink);border-color:var(--ink);color:#fff}.step-row .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left;background:none;border:0;padding:0;font:inherit;color:inherit}.step-row button.body{cursor:pointer}.step-row .t{font-size:15px;font-weight:500;line-height:1.35}.step-row.done .t{color:var(--sub2);text-decoration:line-through}.step-row .m{font-size:12px;color:var(--sub2);font-weight:500}.step-row .m .recheck{color:var(--danger);font-weight:700}.step-date{font-size:15px;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;flex:none}.step-date.prep{color:var(--accent)}.step-date.official{color:var(--ink);font-weight:700}.step-date.official svg{color:var(--sub2)}.step-date.past,.step-date.done{color:var(--sub2);font-weight:500}.step-detail{background:var(--fill);border-radius:14px;padding:12px 14px;margin:8px 0 10px;font-size:14px;line-height:1.5}.step-detail .k{font-size:12px;color:var(--sub2);font-weight:600}.step-detail .q{color:var(--sub);font-size:13px;margin-top:6px}.step-detail .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}.step-detail .acts .btn{width:auto}.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0}.inline-form input{border:0;background:var(--fill);border-radius:10px;padding:10px 12px;font-size:15px;min-width:0}.inline-form input[type=text]{flex:1;min-width:160px}.overlay{position:fixed;inset:0;background:#0000004d;z-index:40;display:flex;align-items:flex-end;justify-content:center}.sheet{background:#fff;border-radius:24px 24px 0 0;padding:20px 20px calc(24px + env(safe-area-inset-bottom));width:100%;max-width:560px;max-height:90vh;overflow:auto}.sheet .k{font-size:12px;color:var(--sub2);font-weight:600}.sheet .h2{font-size:22px;font-weight:800;letter-spacing:-.5px;margin-top:4px;line-height:1.3}.sheet .range{font-size:13px;color:var(--sub);font-weight:500;margin-top:4px;line-height:1.5}@media(min-width:761px){.overlay{align-items:center}.sheet{border-radius:20px;padding:24px}}.picks{display:flex;flex-direction:column;gap:8px;margin-top:18px}.pick{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-radius:14px;background:var(--fill);border:0;width:100%;text-align:left;font:inherit;color:inherit}.pick.on{background:var(--accent-weak);box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--accent)}.pick .d{font-size:16px;font-weight:600}.pick .s{font-size:12px;color:var(--sub2);font-weight:500}.pick.on .s{color:var(--accent)}.today-tag{font-size:13px;font-weight:700;color:var(--accent);background:var(--accent-weak);border-radius:8px;padding:5px 10px;display:inline-block}.today-hero{font-size:36px;font-weight:800;letter-spacing:-1.2px;line-height:1.15;margin-top:18px}.today-sub{margin-top:16px;font-size:16px;color:var(--sub);font-weight:500;line-height:24px}.today-sub b{color:var(--ink)}.today-actions{margin-top:24px;display:flex;gap:10px;max-width:420px}.today-actions .btn.secondary{flex:0 0 88px}.list-head{display:flex;justify-content:space-between;margin:28px 0 4px;font-size:12px;color:var(--sub2);font-weight:600}.list-head button{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}.day-head{display:flex;justify-content:space-between;margin:18px 0 2px;font-size:13px;font-weight:700;color:var(--sub)}.chips.result .chip.on{background:var(--ink)}.dl-row,.task-row{display:grid;gap:8px;align-items:center;margin:8px 0}.dl-row{grid-template-columns:minmax(96px,1fr) minmax(140px,1.4fr) minmax(100px,1fr) auto}.task-row{grid-template-columns:minmax(0,2fr) minmax(140px,1fr) auto}.dl-row select,.dl-row input,.task-row input{border:0;background:var(--fill);border-radius:10px;padding:10px 12px;font:inherit;min-width:0;width:100%}.x-btn{width:32px;height:32px;border-radius:16px;border:0;background:var(--fill);color:var(--sub);font-size:16px}@media(max-width:600px){.dl-row{grid-template-columns:1fr 1fr}.dl-row .x-btn{justify-self:end}.task-row{grid-template-columns:1fr auto}.task-row input[type=date]{grid-column:1}.today-hero{font-size:28px}}.route-line{padding:10px 0;border-bottom:1px solid var(--line)}.route-line .t{font-size:15px;font-weight:600}.route-line .q{font-size:13px;color:var(--sub);margin-top:4px;line-height:1.5}.aside .btns{display:flex;flex-direction:column;gap:8px;margin-top:14px}.memo textarea{width:100%;min-height:80px;border:0;background:var(--fill);border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.5;resize:vertical}.hist-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.hist-row .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.hist-row .t{font-size:16px;font-weight:700}
