@charset "UTF-8";:root{--color-bg: #f7fafc;--color-bg-elevated: #ffffff;--color-symbol: #14b8a6;--color-symbol-strong: #0f766e;--color-symbol-soft: #a5f3fc;--symbol-gradient: linear-gradient(135deg, #14b8a6, #06b6d4);--color-border-subtle: #e5e7eb;--color-text-main: #0f172a;--color-text-muted: #6b7280;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--shadow-soft: 0 18px 45px rgba(15, 23, 42, .12);--transition-fast: .15s ease-out;--transition-med: .22s ease;--sidebar-width: 260px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Pretendard,Segoe UI,sans-serif;color:var(--color-text-main);background:radial-gradient(circle at top left,rgba(20,184,166,.035),transparent 40%),radial-gradient(circle at bottom right,rgba(6,182,212,.035),transparent 40%),#fff}a{color:inherit;text-decoration:none}button{font-family:inherit}.app-root{min-height:100vh;display:flex;flex-direction:column}.app-shell{display:flex;flex:1;min-height:0}.topbar{height:60px;padding:0 1.5rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid rgba(15,23,42,.04);background:#ffffffe6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.topbar__menu-button{width:36px;height:36px;border-radius:999px;border:1px solid rgba(15,23,42,.06);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.topbar__menu-button span{width:16px;height:2px;border-radius:999px;background:var(--color-text-main);position:relative}.topbar__menu-button span:before,.topbar__menu-button span:after{content:"";position:absolute;left:0;width:16px;height:2px;border-radius:999px;background:inherit}.topbar__menu-button span:before{top:-5px}.topbar__menu-button span:after{bottom:-5px}.topbar__menu-button:hover{background:#f9fafb;box-shadow:0 10px 25px #0f172a14;transform:translateY(-1px)}.topbar__logo{display:flex;align-items:center;gap:.6rem}.topbar__logo-symbol{width:32px;height:32px;border-radius:12px;background-image:var(--symbol-gradient);display:flex;align-items:center;justify-content:center;color:#ecfeff;font-weight:700;font-size:.85rem;box-shadow:0 12px 28px #14b8a680}.topbar__logo-text{display:flex;flex-direction:column;line-height:1.05}.topbar__logo-text-main{font-weight:800;letter-spacing:.08em;font-size:.9rem}.topbar__logo-text-sub{font-size:.7rem;color:var(--color-text-muted)}.sidebar{width:var(--sidebar-width);padding:1.25rem 1.25rem 1.75rem;border-right:1px solid rgba(15,23,42,.04);background:linear-gradient(180deg,#14b8a60a,#0f172a05),#f9fafb;display:flex;flex-direction:column;gap:1rem;transition:width var(--transition-med),padding var(--transition-med)}.sidebar--collapsed{width:72px;padding-inline:.75rem}.sidebar__section-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin-bottom:.35rem}.sidebar__nav{display:flex;flex-direction:column;gap:.3rem}.sidebar__link{display:flex;align-items:center;gap:.7rem;padding:.55rem .75rem;border-radius:999px;color:var(--color-text-muted);font-size:.85rem;border:1px solid transparent;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.sidebar__link-icon{width:22px;height:22px;border-radius:999px;background:#14b8a612;display:flex;align-items:center;justify-content:center;color:var(--color-symbol-strong);font-size:.8rem}.sidebar__link-label{white-space:nowrap}.sidebar__link:hover{background:#fff;border-color:#14b8a680;color:var(--color-text-main);box-shadow:0 12px 30px #0f172a14;transform:translateY(-1px)}.sidebar__link--active,.sidebar__link--primary{background-image:var(--symbol-gradient);color:#ecfeff;border-color:transparent}.sidebar__link--active .sidebar__link-icon,.sidebar__link--primary .sidebar__link-icon{background:#0f172a1a;color:#e0faff}.sidebar__link--active:hover,.sidebar__link--primary:hover{box-shadow:0 16px 40px #14b8a6a6}.sidebar-overlay{position:fixed;inset:60px 0 0;border:none;padding:0;cursor:pointer;background:#02061759;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:35;opacity:0;pointer-events:none;transition:opacity var(--transition-med)}.sidebar-overlay--show{opacity:1;pointer-events:auto}.fab{position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:999px;border:none;padding:0;cursor:pointer;background-image:var(--symbol-gradient);color:#ecfeff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 20px 55px #14b8a6bf;transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast);z-index:60}.fab__icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:28px;line-height:0;margin-bottom:5px;transform:translateY(1px)}.fab:hover{transform:translateY(-2px);box-shadow:0 26px 70px #14b8a6e6;filter:brightness(1.03)}.composer-overlay{position:fixed;inset:0;border:none;padding:0;cursor:pointer;background:#02061759;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50}.composer-panel{position:fixed;right:22px;bottom:90px;width:min(560px,100vw - 44px);max-height:calc(100vh - 140px);overflow:auto;border-radius:22px;background:radial-gradient(circle at top left,rgba(20,184,166,.16),transparent 62%),#fff;border:1px solid rgba(148,163,184,.22);box-shadow:0 30px 85px #0f172a38;z-index:55}.composer-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:1.1rem 1.2rem .6rem;border-bottom:1px solid rgba(15,23,42,.06)}.composer-panel__close{flex:0 0 auto;min-width:54px;height:45px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding-inline:0;white-space:nowrap}@media(max-width:520px){.composer-panel__header{align-items:center}.composer-panel__close{min-width:48px;height:48px}}.composer-panel__title{margin:0;font-size:1.05rem}.composer-panel__subtitle{margin:.25rem 0 0;font-size:.8rem;color:var(--color-text-muted)}.composer-panel__body{padding:1rem 1.2rem 1.2rem}.sidebar--collapsed .sidebar__section-label{text-align:center}.sidebar--collapsed .sidebar__link{justify-content:center;padding-inline:.4rem}.sidebar--collapsed .sidebar__link-label{display:none}.main-content{flex:1;padding:1.5rem 1.75rem 2.5rem;max-width:1120px;width:100%;margin:0 auto}.page{display:flex;flex-direction:column;gap:1.5rem}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem}.page-title{font-size:1.6rem;margin:0;letter-spacing:-.02em}.page-subtitle{margin:.2rem 0 0;font-size:.9rem;color:var(--color-text-muted)}.badge-soft{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .6rem;border-radius:999px;border:1px solid rgba(20,184,166,.18);background:#14b8a60f;color:var(--color-symbol-strong);font-size:.7rem;font-weight:500}.section-card{border-radius:var(--radius-lg);background:radial-gradient(circle at top left,rgba(20,184,166,.08),transparent 60%),#fff;padding:1.25rem 1.35rem 1.4rem;box-shadow:var(--shadow-soft);border:1px solid rgba(148,163,184,.22)}.section-card--primary{background:radial-gradient(circle at top left,rgba(20,184,166,.16),transparent 65%),#fff}.section-card__header{display:flex;align-items:baseline;justify-content:space-between;gap:.9rem;margin-bottom:.9rem}.section-card__title{margin:0;font-size:1.05rem}.section-card__subtitle{margin:.2rem 0 0;font-size:.8rem;color:var(--color-text-muted)}.note-grid{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));justify-content:center}.note-card{border-radius:var(--radius-md);padding:.9rem .95rem;background:#fff;border:1px solid rgba(148,163,184,.4);box-shadow:0 18px 40px #0f172a1f;display:flex;flex-direction:column;gap:.5rem;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.note-card:hover{transform:translateY(-3px);box-shadow:0 22px 50px #14b8a633;border-color:#14b8a6a6}.note-card--with-image{padding:0;overflow:hidden}.note-card__image-wrapper{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden}.note-card__image{width:100%;height:100%;object-fit:cover;display:block}.note-card__image--placeholder{width:100%;height:100%;background:linear-gradient(135deg,#e5e7eb,#d1d5db)}.note-card__topbar{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;background:linear-gradient(to right,#14b8a5b3,#06b6d4b3);color:#ecfeff}.note-card__topbar-title{font-size:.85rem;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-card__subject--topbar{padding:.1rem .6rem}.note-card__body{padding:.6rem .75rem .75rem}.note-card__meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.75rem}.note-card__subject{padding:.1rem .55rem;border-radius:999px;background:#0000001c;color:#ffffffe6;font-size:.75rem;font-weight:700;line-height:1.25}.note-card__date{color:var(--color-text-muted)}.note-card__title{margin:.1rem 0 0;font-size:.98rem}.note-card__excerpt{margin:0;font-size:.82rem;color:var(--color-text-muted)}.note-card__excerpt--one-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:1rem}.note-card__footer{margin-top:.4rem;display:flex;align-items:center;justify-content:space-between;font-size:.75rem}.note-card__author{color:var(--color-text-muted)}.pill-button{padding:.25rem .7rem;border-radius:999px;border:none;background:#0f172aeb;color:#f9fafb;font-size:.72rem;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.pill-button:hover{background:#020617;transform:translateY(-1px);box-shadow:0 10px 24px #0f172a59}.button-primary{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.45rem .95rem;border-radius:999px;border:none;background-image:var(--symbol-gradient);color:#ecfeff;font-size:.8rem;font-weight:600;cursor:pointer;box-shadow:0 0 10px #14b8a580;transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast)}.button-primary:hover{transform:translateY(-1px);box-shadow:0 2px 15px #14b8a599;filter:brightness(1.03)}.button-ghost{padding:.45rem .9rem;border-radius:999px;border:1px solid rgba(148,163,184,.7);background:#f8fafccc;font-size:.78rem;color:var(--color-text-main);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.button-ghost:hover{border-color:#14b8a680;background:#fff;transform:translateY(-1px);box-shadow:0 12px 30px #0f172a14}.button-danger{padding:.45rem .9rem;border-radius:999px;border:1px solid rgba(248,113,113,.7);background:#fee2e2cc;font-size:.78rem;color:#b91c1c;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.button-danger:hover{border-color:#dc2626b3;background:#fee2e2;transform:translateY(-1px);box-shadow:0 12px 30px #7f1d1d1f}.page-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.search-input{position:relative;flex:1;min-width:220px}.search-input input{width:100%;padding:.55rem .7rem .55rem 2.1rem;border-radius:999px;border:1px solid rgba(148,163,184,.7);background:#f8fafce6;font-size:.8rem;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.search-input input:focus{border-color:#14b8a6cc;box-shadow:0 0 0 1px #14b8a633,0 14px 35px #0f172a26;background:#fff}.search-input__icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:999px;border:1px solid rgba(148,163,184,.9)}.search-input__icon:before{content:"";position:absolute;inset:3px;border-radius:inherit;border:2px solid rgba(148,163,184,.85)}.search-input__icon:after{content:"";position:absolute;right:-5px;bottom:-1px;width:6px;height:2px;border-radius:999px;background:#94a3b8d9;transform:rotate(40deg)}.subject-filter{display:flex;flex-wrap:wrap;gap:.4rem}.subject-filter button{padding:.3rem .7rem;border-radius:999px;border:1px solid rgba(148,163,184,.6);background:#f8fafce6;font-size:.75rem;cursor:pointer;color:var(--color-text-muted);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.subject-filter button.selected{border-color:#14b8a6d9;background:#14b8a61f;color:var(--color-symbol-strong);box-shadow:0 12px 28px #14b8a666;transform:translateY(-1px)}.layout-two-columns{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.15fr);gap:1.1rem;align-items:flex-start}.note-form{display:flex;flex-direction:column;gap:.9rem}.note-form__row{border-radius:var(--radius-md);border:1px dashed rgba(148,163,184,.7);background:#f8fafccc;padding:.7rem .75rem .8rem;display:flex;flex-direction:column;gap:.55rem}.note-form__row-header{display:flex;align-items:flex-start;justify-content:space-between}.note-form__row-header--split{gap:.75rem}.note-form__header-field{display:flex;flex-direction:column;gap:.3rem;flex:1}.note-form__header-field--subject{flex:0 0 auto;min-width:110px;max-width:36%}@media(max-width:520px){.note-form__row-header--split{flex-direction:column;align-items:stretch}.note-form__header-field--subject{width:100%;max-width:100%;min-width:0}}.note-form__header-field--subject{flex:0 0 auto;width:150px}.note-form__row-title{font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.note-form__fields{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:.5rem .75rem;align-items:flex-start}.note-form__fields--single{grid-template-columns:minmax(0,1fr)}.note-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--color-text-muted)}.note-form input[type=text],.note-form input[type=search]{border-radius:999px;border:1px solid rgba(148,163,184,.8);padding:.4rem .7rem;font-size:.8rem;background:#fff;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.note-form input[type=text]:focus,.note-form input[type=search]:focus{border-color:#14b8a6d9;box-shadow:0 0 0 1px #14b8a633}.note-form__message textarea{border-radius:14px;border:1px solid rgba(148,163,184,.85);padding:.55rem .7rem;font-size:.8rem;resize:none;min-height:120px;background:#fff;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.note-form__message textarea:focus{border-color:#14b8a6e6;box-shadow:0 0 0 1px #14b8a633;background:#fff}.note-form__file{grid-column:1/-1;display:flex;flex-direction:column;gap:.4rem}.note-form__file-label{font-size:.75rem;color:var(--color-text-muted)}.note-form__file-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.note-form__file-trigger{padding-inline:.8rem}.note-form__file-name{font-size:.75rem;color:var(--color-text-muted)}.note-form__file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;clip:rect(0 0 0 0);overflow:hidden}.note-form__preview{width:140px;height:100px;border-radius:10px;background-size:cover;background-position:center;border:1px solid rgba(148,163,184,.8);box-shadow:0 10px 26px #0f172a24}.note-form__preview-list{margin-top:.35rem;display:flex;flex-wrap:wrap;gap:.55rem}.note-form__preview-wrapper{position:relative;width:140px;height:100px;overflow:hidden;border-radius:10px}.note-form__preview-remove{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:999px;border:none;padding:0;cursor:pointer;background:#0f172ae6;color:#e5f9ff;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--transition-fast),transform var(--transition-fast)}.note-form__preview-wrapper:hover .note-form__preview-remove{opacity:1;pointer-events:auto;transform:translateY(-1px)}.note-form__row-remove{font-size:.75rem}.subject-select{position:relative}.subject-select__button{width:100%;height:29.3px;margin-top:-1px;display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.4rem .75rem;border-radius:999px;border:1px solid rgba(148,163,184,.8);background:#fff;font-size:.8rem;cursor:pointer;color:var(--color-text-main);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.subject-select__button:hover{background:#f8fafcf2;border-color:#14b8a6b3;box-shadow:0 10px 26px #0f172a1a;transform:translateY(-1px)}.subject-select__chevron{font-size:.8rem;color:var(--color-text-muted)}.subject-select__menu{position:absolute;inset-inline:0;top:calc(100% + .25rem);border-radius:14px;background:#fff;box-shadow:0 20px 55px #0f172a33;border:1px solid rgba(148,163,184,.7);padding:.25rem;z-index:10}.subject-select__option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.3rem .5rem;border-radius:999px;border:none;background:transparent;font-size:.8rem;cursor:pointer;color:var(--color-text-muted);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.subject-select__option:hover{background:#94a3b81f;transform:translateY(-.5px)}.subject-select__option.selected{background:#14b8a614;color:var(--color-symbol-strong)}.subject-select__option-label{flex:1;text-align:left}.note-dropzone{margin-top:.6rem;border-radius:16px;border:1.5px dashed rgba(148,163,184,.9);background:#f8fafce6;padding:.7rem .75rem}.note-dropzone__inner{display:flex;flex-direction:column;gap:.1rem;font-size:.78rem;color:var(--color-text-muted)}.note-dropzone__strong{color:var(--color-symbol-strong)}.note-form__actions{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.note-group-list{display:flex;flex-direction:column;gap:.9rem;max-height:520px;overflow:auto;padding-right:.3rem}.note-group{border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.4);background:#f8fafccc;padding:.7rem .75rem .8rem}.note-group__date{margin-bottom:.5rem}.note-group__date-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.1rem .65rem;border-radius:999px;background:#0f172adb;color:#e5f9ff;font-size:.7rem}.note-group__items{display:flex;flex-direction:column;gap:.45rem}.note-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:.6rem;align-items:center;padding:.45rem .4rem;border-radius:var(--radius-sm);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.note-row__subject{font-size:.75rem;font-weight:600;color:var(--color-symbol-strong)}.note-row__main{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.note-row__title{margin:0;font-size:.85rem}.note-row__thumb{width:44px;height:32px;border-radius:9px;background-size:cover;background-position:center;background-color:#94a3b833;border:1px solid rgba(148,163,184,.6)}.note-row:hover{background:#fffffff2;transform:translateY(-1px);box-shadow:0 10px 26px #0f172a24}.empty-state{margin:.3rem 0 0;font-size:.8rem;color:var(--color-text-muted)}@media(max-width:900px){.layout-two-columns{grid-template-columns:minmax(0,1fr)}.page-header{flex-direction:column;align-items:flex-start}.main-content{padding-inline:1.1rem}}@media(max-width:720px){.sidebar{display:flex;position:fixed;top:60px;left:0;height:calc(100vh - 60px);z-index:40;width:min(var(--sidebar-width),86vw);transform:translate(-105%);transition:transform var(--transition-med);box-shadow:0 24px 60px #0f172a38}.sidebar.sidebar--mobile-open{transform:translate(0)}.sidebar--collapsed{width:min(var(--sidebar-width),86vw);padding-inline:1.25rem}.sidebar--collapsed .sidebar__link{justify-content:flex-start;padding-inline:.75rem}.sidebar--collapsed .sidebar__link-label{display:inline}.main-content{max-width:100%}.section-card{border-radius:18px}.note-form__fields{grid-template-columns:minmax(0,1fr)}.composer-panel{right:10px;left:10px;width:auto;bottom:10px;max-height:calc(100vh - 20px);border-radius:22px}}@media(max-width:520px){.topbar{padding-inline:1rem}.page-title{font-size:1.35rem}.section-card{padding-inline:1rem}}
