@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.css";
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0d14;--bg-deep:#07080d;--panel:#11151f;--panel-2:#1a2030;--line:#2a3142;--text:#f5f7fa;--muted:#9aa4b8;--dim:#5b6478;--orange:#ff8c1a;--gold:#ffd23f;--blue:#3b82f6;--pink:#ff5ca8;--green:#7bd3b5;--red:#ff5d73}*{box-sizing:border-box}html{background:var(--bg);max-width:100%;min-height:100%;overflow-x:hidden}html.hanana-fans-header-mounted body{padding-top:var(--hanana-fans-header-height,44px)}body{background:var(--bg);min-height:100vh;color:var(--text);font-feature-settings:"tnum";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Pretendard Variable,Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;overflow-x:clip}body:before,body:after{content:"";pointer-events:none;position:fixed;inset:0}body:before{z-index:-2;background:linear-gradient(120deg, #ff8c1a17, transparent 32%), linear-gradient(240deg, #3b82f614, transparent 38%), linear-gradient(180deg, #07080d1a, var(--bg) 72%)}body:after{z-index:-1;opacity:.26;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px),repeating-linear-gradient(115deg,#0000 0 28px,#ff8c1a08 28px 29px);background-size:42px 42px,42px 42px,auto}button,a{font:inherit}a{color:inherit}button{cursor:pointer;border:0}img{max-width:100%;display:block}::selection{background:var(--gold);color:var(--bg-deep)}.app-shell{width:min(1460px,100%);margin:0 auto;padding:24px}.topbar{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:18px;min-height:76px;margin-bottom:18px;padding-bottom:18px;display:flex}.brand-block{align-items:center;gap:14px;min-width:0;display:flex}.brand-mark{background:var(--panel-2);object-fit:cover;border:1px solid #ffd23f5c;border-radius:8px;width:46px;height:46px;box-shadow:0 0 0 3px #ff8c1a14,0 18px 42px #ff8c1a29}.brand-block p,.calendar-toolbar p,.eyebrow{color:var(--orange);letter-spacing:.18em;text-transform:uppercase;margin:0 0 5px;font-size:12px;font-weight:900}.brand-block h1,.calendar-toolbar h2,.subscribe-modal h2{color:var(--text);letter-spacing:0;margin:0;font-weight:950;line-height:1}.brand-block h1{background:linear-gradient(180deg, #fff5c2 0%, var(--gold) 42%, #c98a1a 76%, #fff5c2 100%);color:#0000;filter:drop-shadow(0 12px 26px #ff8c1a38);-webkit-background-clip:text;background-clip:text;font-size:clamp(27px,3vw,42px)}.subscribe-button,.subscribe-actions a,.subscribe-actions button,.icon-group button,.segmented button,.member-selection-clear{min-height:36px;color:var(--text);background:#11151fdb;border:1px solid #ffffff1f;border-radius:8px;justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:850;text-decoration:none;transition:border-color .16s,background .16s,transform .16s;display:inline-flex}.topbar-actions{align-items:center;gap:8px;display:flex}.subscribe-button{white-space:nowrap;background:linear-gradient(135deg, var(--orange), #d96f13);color:#140b03;border-color:#ff8c1a6b;min-height:42px;padding:0 16px;box-shadow:0 18px 38px #ff8c1a33}.subscribe-button:hover,.subscribe-actions a:hover,.subscribe-actions button:hover,.icon-group button:hover,.segmented button:hover,.member-selection-clear:hover{background:#ff8c1a26;border-color:#ffd23f8c;transform:translateY(-1px)}.subscribe-button:hover{background:linear-gradient(135deg, var(--gold), var(--orange))}.workspace{display:block}.calendar-panel,.subscribe-modal{background:linear-gradient(180deg, #1a2030f0, #11151ff0), var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 28px 78px #00000057}.calendar-panel{min-width:0;padding:18px}.calendar-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.calendar-toolbar h2{font-size:clamp(24px,2.2vw,34px)}.calendar-toolbar p{color:var(--muted)}.member-selection-clear{color:#ffe3a3;background:#ffbe5017;border-color:#ffbe505c;min-height:30px;margin-top:10px;padding:0 10px}.toolbar-actions{align-items:center;gap:10px;display:flex}.icon-group,.segmented{align-items:center;gap:6px;display:inline-flex}.icon-group button{width:36px;padding:0}.segmented{background:#07080d8f;border:1px solid #ffffff1a;border-radius:8px;padding:4px}.segmented button{background:0 0;border-color:#0000;min-width:58px;min-height:30px}.segmented .active{color:var(--gold);background:#ff8c1a29;border-color:#ff8c1a7a}.error-box,.empty-state{color:#ffd7de;background:#ff5d731a;border:1px solid #ff5d7357;border-radius:8px;padding:14px;font-weight:850}.empty-state{min-height:280px;color:var(--muted);background:#07080d57;border-color:#ffffff1a;place-items:center;gap:10px;display:grid}.week-grid-scroll{max-width:100%}.week-grid{background:#d2ddee24;border:1px solid #d2ddee2e;border-radius:8px;grid-template-columns:minmax(74px,92px) repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.week-corner,.week-day-head,.slot-row-label,.week-slot-cell{background:#080b12f0;min-width:0}.week-corner,.slot-row-label{z-index:2;border-right:1px solid #ffffff1f;position:sticky;left:0}.week-corner{z-index:3;color:#ffe3a3;background:linear-gradient(#202735,#141a25);place-items:center;min-height:52px;font-size:12px;font-weight:950;display:grid;box-shadow:inset 0 -2px #ffbe5057,inset 3px 0 #ffbe5070}.week-day-head{color:#f8fafc;text-align:center;background:linear-gradient(#1b2432,#111824);border-bottom:1px solid #ffbe503d;place-items:center;gap:1px;min-height:52px;padding:7px 4px;display:grid;box-shadow:inset 0 -2px #ffbe501f}.week-day-head.muted,.week-slot-cell.muted{background:#080c13c2}.week-day-head.today,.week-slot-cell.today{box-shadow:inset 0 0 0 1px #ffd23f8f}.week-day-name{color:#ffdc9ae6;font-size:11px;font-weight:950;line-height:1}.week-day-date{color:#fff;border-radius:50%;place-items:center;width:25px;height:25px;font-size:14px;font-weight:950;line-height:1;display:grid}.week-day-head.today .week-day-date{background:var(--gold);color:var(--bg-deep)}.week-day-count{min-height:12px;color:var(--gold);font-size:10px;font-weight:950;line-height:1}.slot-row-label{appearance:none;color:#fff;cursor:pointer;text-align:center;word-break:keep-all;overflow-wrap:anywhere;background:linear-gradient(90deg,#192232,#101722);border-right:2px solid #ffbe5038;justify-content:center;align-items:center;min-height:58px;padding:7px 5px;font-family:inherit;font-size:12px;font-weight:950;line-height:1.16;display:flex;box-shadow:inset 3px 0 #ffbe5061}.slot-row-label:hover:not(:disabled),.slot-row-label.active{color:#ffe3a3;border-right-color:#ffd27885;box-shadow:inset 3px 0 #ffd278c7,inset 0 0 0 1px #ffd27829}.slot-row-label:disabled{cursor:default}.slot-row-all{color:#eef6ff;background:linear-gradient(90deg,#16273a,#101722);box-shadow:inset 3px 0 #6b9dccb3}.slot-row-unknown{color:#fff0b8;background:linear-gradient(90deg,#2a2415,#111711);box-shadow:inset 3px 0 #cfb054b3}.week-slot-cell{background:#0b111a;align-content:start;gap:3px;min-height:58px;padding:5px;display:grid}.week-slot-all{background:#0b1623}.week-slot-all.has-event{background:#0e1b2b}.week-slot-member.has-event{background:#10161f}.week-slot-unknown{background:#11110b}.week-slot-unknown.has-event{background:#17150c}.slot-empty{color:#dde5f0ad;background:#ffffff07;border:1px dashed #bfcbdb33;border-radius:5px;align-self:stretch;place-items:center;min-height:25px;font-size:12px;font-weight:850;line-height:1.2;display:grid}.event-chip,.more-chip{color:#f8fafc;background:#121b28;border:1px solid #d2ddee29;border-left-width:4px;border-radius:5px;min-height:58px;padding:6px 7px;font-size:13px;font-weight:850;line-height:1.25;display:grid;overflow:hidden}.event-chip{appearance:none;cursor:pointer;width:100%;font:inherit;text-align:left;gap:4px}.event-chip-compact{flex-direction:column;align-items:stretch;gap:2px;min-height:34px;padding:6px 7px;font-size:12px;line-height:1.25;display:flex}.event-chip-time{color:#ffd982;flex:none;font-size:11px;font-weight:950}.event-chip-compact .event-chip-title{color:#fff;-webkit-line-clamp:3;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;font-size:12px;font-weight:950;line-height:1.28;display:-webkit-box;overflow:hidden}.event-chip-common{background:#12263d;border-color:#70a0cd61 #70a0cd61 #70a0cd61 #78a8d3}.event-chip-head{color:#f5f7fac7;justify-content:space-between;align-items:center;gap:6px;font-size:11px;font-weight:950;display:flex}.event-chip-head span:last-child{color:var(--text);border:1px solid #ffffff2e;border-radius:999px;flex:none;padding:1px 5px}.event-chip-title,.event-chip-people{text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.event-chip-title{color:#fff;white-space:nowrap}.event-chip-compact .event-chip-title{white-space:normal}.event-chip-people{color:#e2eaf6d1;white-space:nowrap;font-size:12px}.more-chip{place-items:center;min-height:30px}.event-chip-all{color:#f4f9ff;background:#12263d;border-color:#70a0cd61 #70a0cd61 #70a0cd61 #78a8d3}.event-chip-members{color:#fff4e6;background:#2a2118;border-color:#cd9a5f61 #cd9a5f61 #cd9a5f61 #c9965f}.event-chip-unknown,.more-chip{color:#fff3bf;background:#282310;border-color:#cfb0546b #cfb0546b #cfb0546b #cfb054}.event-category-day_off{color:#ffe4e9;background:#2f1720;border-color:#d36f7e6b #d36f7e6b #d36f7e6b #d36f7e}.event-category-content{color:#e7fff4;background:#112b22;border-color:#63b8976b #63b8976b #63b8976b #63b897}.event-category-live{color:#f4f9ff;background:#12263d;border-color:#70a0cd6b #70a0cd6b #70a0cd6b #78a8d3}.event-category-collab{color:#fff4e6;background:#2a2118;border-color:#cd9a5f70 #cd9a5f70 #cd9a5f70 #c9965f}.event-category-notice{color:#f3f7ff;background:#1c2430;border-color:#acb8ca61 #acb8ca61 #acb8ca61 #acb8ca}.event-category-event{color:#fff3bf;background:#282310;border-color:#cfb05470 #cfb05470 #cfb05470 #cfb054}.event-list{gap:18px;display:grid}.event-group h3{color:var(--muted);margin:0 0 10px;font-size:14px;font-weight:900}.event-stack{gap:9px;display:grid}.event-row{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:#07080d57;border:1px solid #ffffff17;border-radius:8px;grid-template-columns:88px minmax(0,1fr);gap:14px;padding:13px;display:grid}.event-row:hover{background:#ff8c1a14;border-color:#ff8c1a52}.event-time{color:var(--gold);font-size:14px;font-weight:950}.event-main{min-width:0}.event-title-row{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.event-title-row strong{overflow-wrap:anywhere;font-size:16px}.event-main p{color:var(--muted);margin:7px 0 0;font-size:14px}.meta-line{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.event-detail-grid{border-left:2px solid #ff8c1a61;grid-template-columns:48px minmax(0,1fr);gap:7px 10px;margin-top:11px;padding-left:10px;display:grid}.event-detail-grid strong{color:#f5f7faeb;overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:850}.detail-label{color:var(--gold);font-size:12px;font-weight:950}.meta-line span,.badge{min-height:23px;color:var(--muted);border:1px solid #9aa4b83d;border-radius:999px;align-items:center;padding:0 8px;font-size:12px;font-weight:850;display:inline-flex}.badge-all{color:#d8e7ff;border-color:#3b82f661}.badge-members{color:#ffe0bf;border-color:#ff8c1a6b}.badge-unknown{color:#ffe8a6;border-color:#ffd23f6b}.category-badge{color:var(--text)}.category-day_off{color:#ffd7de;border-color:#ff5d736b}.category-content{color:#d9ffee;border-color:#7bd3b56b}.category-live{color:#d8e7ff;border-color:#3b82f66b}.category-collab{color:#ffe0bf;border-color:#ff8c1a75}.category-notice{color:#e1e8f5;border-color:#9aa4b86b}.category-event{color:#fff0ad;border-color:#ffd23f73}.category-unknown{color:#ffe8a6;border-color:#ffd23f57}.source-footer{border-top:1px solid #ffffff1a;gap:12px;margin-top:18px;padding-top:14px;display:grid}.source-footer-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.source-footer-head h3{color:var(--text);margin:0;font-size:15px;font-weight:950}.source-footer-head span{color:var(--muted);font-size:12px;font-weight:850}.source-footer-copy{color:#f5f7fac2;margin:0;font-size:13px;font-weight:800;line-height:1.55}.source-footer-list{gap:10px;display:grid}.source-guide-list{grid-template-columns:repeat(4,minmax(0,1fr))}.source-card{background:linear-gradient(#121722db,#090c13c7);border:1px solid #d2ddee1f;border-radius:8px;gap:9px;padding:12px;display:grid}.source-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.source-card-head strong{color:#f5f7faf0;overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:950}.source-card-head span{color:var(--gold);font-size:12px;font-weight:950}.source-card p,.source-card pre{color:#f5f7fab8;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-family:inherit;font-size:12px;font-weight:750;line-height:1.45}.source-card pre{color:#9aa4b8eb}.source-guide-card{align-content:start;min-height:132px}.source-guide-top,.source-stat-head,.source-directory-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.source-tag{color:#ffe58a;background:#ffd23f1a;border:1px solid #ffd23f47;border-radius:7px;place-items:center;min-width:30px;height:30px;font-size:14px;font-weight:950;display:inline-grid}.source-guide-top>span:last-child,.source-stat-head em,.source-directory-head span{color:#f5f7fa9e;text-align:right;font-size:12px;font-style:normal;font-weight:900}.source-guide-title{color:#fffffff5;overflow-wrap:anywhere;font-size:14px;font-weight:950;line-height:1.3}.source-directory{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:10px;display:grid}.source-directory-group{background:#070a1180;border:1px solid #d2ddee1c;border-radius:8px;align-content:start;gap:10px;padding:12px;display:grid}.source-directory-head strong{color:#fffffff0;font-size:13px;font-weight:950}.source-link-buttons{flex-wrap:wrap;gap:7px;display:flex}.source-link-buttons a{color:#f5f7fadb;background:#ffffff0a;border:1px solid #9aa4b838;border-radius:7px;justify-content:center;align-items:center;min-height:31px;padding:0 10px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.source-link-buttons a:hover{color:#fff0ad;background:#ffd23f1a;border-color:#ffd23f66}.source-link-buttons-board a{flex-direction:column;align-items:flex-start;min-width:148px;min-height:45px;padding:6px 10px}.source-link-buttons-board span{color:#ffffffeb;font-size:12px;line-height:1.15}.source-link-buttons-board small{color:#f5f7fa94;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:11px;font-weight:850;line-height:1.25;overflow:hidden}.source-stats-section{border-top:1px solid #ffffff1a;gap:10px;padding-top:10px;display:grid}.source-stats-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.source-stats-head h4{color:#fff;margin:0;font-size:14px;font-weight:950}.source-stats-head span{color:#f5f7fa94;font-size:12px;font-weight:850}.source-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.source-stat-card{background:linear-gradient(#131926e6,#0a0d15db);border-color:#d2ddee29;align-content:start;min-height:156px;box-shadow:inset 0 3px #d2ddee47}.source-stat-naver_cafe{box-shadow:inset 0 3px #ffb15d}.source-stat-notion{box-shadow:inset 0 3px #d4def0}.source-stat-soop{box-shadow:inset 0 3px #5dd6aa}.source-stat-soop_board{box-shadow:inset 0 3px #7db5ff}.source-stat-head strong{color:#fffffff0;overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:950}.source-stat-main{align-items:baseline;gap:7px;display:flex}.source-stat-main strong{color:#fff;font-size:36px;font-weight:950;line-height:1}.source-stat-main span{color:#f5f7faad;font-size:12px;font-weight:900}.source-stat-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.source-stat-metrics span{color:#f5f7fae0;background:#ffffff0e;border:1px solid #d2ddee29;border-radius:6px;place-items:center;min-height:28px;font-size:11px;font-weight:900;display:grid}.source-button{color:#ffe0bf;background:#ff8c1a1a;border:1px solid #ff8c1a57;border-radius:999px;justify-self:start;align-items:center;gap:5px;min-height:30px;padding:0 10px;font-size:12px;font-weight:950;text-decoration:none;display:inline-flex}.source-button:hover{background:#ff8c1a29;border-color:#ff8c1a9e}.source-member-links{color:#9aa4b8b3;flex-wrap:wrap;gap:5px 0;line-height:1.7;display:flex}.source-member-item{align-items:center;min-width:0;display:inline-flex}.source-member-links a{color:#f5f7fac7;background:#ffffff08;border:1px solid #9aa4b833;border-radius:999px;align-items:center;min-height:28px;padding:0 9px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.source-member-links a:hover{color:#ffe0bf;background:#ff8c1a1a;border-color:#ff8c1a6b}.source-member-separator{color:#ff8c1ab3;padding:0 7px;font-size:12px;font-weight:950}.source-links{flex-wrap:wrap;gap:6px;display:flex}.source-links a{color:#ffe0bf;border:1px solid #ff8c1a52;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.event-detail-modal{background:#111218fa;border:1px solid #ffffff24;border-radius:10px;gap:14px;width:min(720px,100vw - 28px);max-height:min(760px,100vh - 36px);padding:26px;display:grid;position:relative;overflow:auto;box-shadow:0 18px 60px #00000061}.event-detail-modal h2{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:24px;font-weight:950;line-height:1.2}.event-detail-meta{flex-wrap:wrap;gap:7px;display:flex}.event-detail-meta span{color:#ffe0bf;border:1px solid #ff8c1a4d;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.event-detail-copy{color:#f5f7fac7;overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:750;line-height:1.55}.event-detail-copy a,.event-source-detail pre a{color:#ffd982;text-underline-offset:3px;font-weight:900;text-decoration:underline}.event-detail-copy a:hover,.event-source-detail pre a:hover{color:#ffe8b0}.modal-detail-grid{margin-top:0}.event-source-detail{border-top:1px solid #ffffff1a;gap:9px;padding-top:12px;display:grid}.event-source-detail h3{color:var(--text);margin:0;font-size:15px;font-weight:950}.event-source-detail pre{color:#9aa4b8f0;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-family:inherit;font-size:13px;font-weight:750;line-height:1.5}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#07080db8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.subscribe-modal{width:min(540px,100%);padding:24px;position:relative}.modal-close{width:34px;height:34px;color:var(--muted);background:#07080d99;border:1px solid #ffffff1a;border-radius:8px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.modal-close:hover{color:var(--text);border-color:#ffd23f8c}.subscribe-modal h2{margin-right:36px;font-size:clamp(24px,5vw,34px)}.modal-copy{color:#f5f7fac7;margin:13px 0 18px;font-size:15px;line-height:1.65}.subscribe-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.subscribe-actions a,.subscribe-actions button{min-height:42px;padding:0 12px}.feed-url{width:100%;color:var(--muted);white-space:nowrap;background:#07080d94;border:1px solid #ffffff17;border-radius:8px;margin-top:14px;padding:11px;font-size:12px;line-height:1.45;display:block;overflow:auto}@media (max-width:760px){.app-shell{padding:14px}.topbar,.calendar-toolbar,.toolbar-actions{flex-direction:column;align-items:stretch}.topbar-actions,.subscribe-button{width:100%}.topbar-actions{flex-direction:column;align-items:stretch}.calendar-panel{padding:12px}.week-grid-scroll{overscroll-behavior-x:contain;scrollbar-color:#ffbe5094 #ffffff14;scrollbar-width:thin;-webkit-overflow-scrolling:touch;margin-inline:-2px;padding:0 2px 8px;overflow:auto hidden}.week-grid{border-radius:6px;grid-template-columns:78px repeat(7,minmax(110px,1fr));min-width:860px}.week-corner{min-height:48px;font-size:11px}.week-day-head{min-height:48px;padding:6px 4px}.week-day-name{font-size:10px}.week-day-date{width:22px;height:22px;font-size:13px}.week-day-count{font-size:10px}.slot-row-label{min-height:56px;padding:6px 4px;font-size:11px}.week-slot-cell{min-height:56px;padding:4px}.event-chip-compact{min-height:32px;padding:5px}.event-chip-time,.event-chip-compact .event-chip-title{font-size:11px}.event-row,.source-guide-list,.source-directory,.source-stats-grid,.subscribe-actions{grid-template-columns:1fr}}
