:root{--body:#f6f4fb;--ink:#2f2a3d;--dim:#8a8499;--line:#e7e2f0;--card:#fff;--flat:#f1eef8;--accent:#7b8fe0;--on-accent:#fff;--shadow:rgba(60,50,90,.10);--scrim:rgba(40,30,60,.35);--danger:#d9606c;--font:system-ui,Roboto,'Noto Sans KR','Segoe UI','Malgun Gothic',sans-serif}
:root[data-theme="dark"]{color-scheme:dark;--body:#1c1b24;--ink:#ece8f6;--dim:#9a95ab;--line:#2f2d3a;--card:#24222f;--flat:#2f2d3c;--accent:#aebff5;--on-accent:#1c2350;--shadow:rgba(0,0,0,.3);--scrim:rgba(0,0,0,.55);--danger:#d6727c}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--body:#1c1b24;--ink:#ece8f6;--dim:#9a95ab;--line:#2f2d3a;--card:#24222f;--flat:#2f2d3c;--accent:#aebff5;--on-accent:#1c2350;--shadow:rgba(0,0,0,.3);--scrim:rgba(0,0,0,.55)}}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--body);color:var(--ink);font-family:var(--font);-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.app-shell{height:100%;display:flex}.sidebar{width:240px;background:var(--card);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:18px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px;font-size:18px;font-weight:800}.brand-mark{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent)}nav{display:flex;flex-direction:column;gap:4px}.nav-item{border:0;background:transparent;border-radius:10px;padding:10px 12px;text-align:left;display:flex;align-items:center;gap:10px;font-weight:650}.nav-item span:first-child{width:22px;text-align:center}.nav-item.on{background:var(--flat);color:var(--accent)}.nav-count{margin-left:auto;font-size:12px;color:var(--dim)}.settings-link{margin-top:auto}.main{min-width:0;flex:1;display:flex;flex-direction:column;position:relative}.topbar{height:72px;display:flex;align-items:center;gap:8px;padding:8px 24px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--body) 90%,transparent)}.title-wrap{flex:1;min-width:0}.title-wrap h1{font-size:20px;margin:0}.title-wrap p{font-size:12px;color:var(--dim);margin:3px 0 0}.icon-btn{border:0;width:38px;height:38px;border-radius:11px;background:var(--flat);font-size:19px}.mobile-only{display:none}.content{flex:1;overflow:auto;padding:22px max(22px,calc((100vw - 1160px)/2));padding-bottom:100px}.search-row{display:flex;gap:8px;margin-bottom:14px}.search-row input,.settings-panel input,.settings-panel select{min-width:0;flex:1;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:10px 12px}.summary{display:flex;gap:10px;overflow:auto;margin-bottom:14px}.summary-card{min-width:130px;background:var(--card);border-radius:14px;padding:13px 15px;box-shadow:0 1px 3px var(--shadow)}.summary-card strong{font-size:22px}.summary-card span{display:block;color:var(--dim);font-size:12px;margin-top:3px}.note-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}.note-card{background:var(--card);border-radius:14px;box-shadow:0 1px 3px var(--shadow);padding:14px;display:flex;flex-direction:column;gap:10px}.note-content{white-space:pre-wrap;line-height:1.55;overflow-wrap:anywhere}.note-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.chip,.type-chip{border:0;border-radius:8px;padding:6px 10px;background:var(--flat);font-size:13px;font-weight:700}.chip.on,.type-chip.on{background:var(--accent)!important;color:var(--on-accent)!important}.badge{border-radius:6px;padding:3px 7px;font-size:11px;font-weight:700}.note-date{color:var(--dim);font-size:11px;margin-left:auto}.note-actions{display:flex;gap:6px;border-top:1px solid var(--line);padding-top:9px}.note-actions button{border:0;background:transparent;color:var(--dim);font-size:12px;padding:4px 6px}.empty{grid-column:1/-1;text-align:center;padding:70px 20px;color:var(--dim)}.btn{border:0;border-radius:9px;background:var(--flat);padding:9px 13px;font-weight:650}.btn.primary{background:var(--accent);color:var(--on-accent)}.grow{flex:1}.fab{position:fixed;right:28px;bottom:28px;width:56px;height:56px;border:0;border-radius:18px;background:var(--accent);color:var(--on-accent);font-size:28px;box-shadow:0 8px 24px var(--shadow)}.bottom-nav{display:none}.scrim{position:fixed;inset:0;background:var(--scrim);z-index:30}.sheet,.panel{position:fixed;z-index:31;background:var(--card);box-shadow:0 18px 60px rgba(0,0,0,.22)}.sheet{left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100% - 24px));border-radius:20px;padding:18px}.sheet-handle{display:none}.sheet-head,.panel-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.sheet-head>div,.panel-head>div{flex:1}.sheet h2,.panel h2{font-size:20px;margin:0}.sheet p,.panel p{font-size:12px;color:var(--dim);margin:4px 0 0}.sheet textarea{width:100%;height:150px;resize:vertical;border:1px solid var(--line);border-radius:13px;background:var(--flat);padding:13px;font-size:16px;line-height:1.5}.field-label{font-size:12px;font-weight:700;color:var(--dim);margin:13px 0 7px}.chips{display:flex;gap:6px;flex-wrap:wrap}.sheet-actions,.actions{display:flex;gap:8px;margin-top:16px}.panel{right:0;top:0;bottom:0;width:min(540px,100%);padding:22px;overflow:auto}.category-group,.settings-group{border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:10px}.category-head{display:flex;align-items:center;gap:8px}.category-head strong{flex:1}.color-dot{width:13px;height:13px;border-radius:50%}.sub-list{padding:8px 0 0 25px}.sub-row{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding:8px 0}.sub-row span:nth-child(2){flex:1}.mini-btn{border:0;background:var(--flat);border-radius:7px;padding:5px 8px}.danger-text{color:var(--danger)}.settings-group h3{margin:0 0 10px;font-size:14px}.settings-group label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--dim);margin:10px 0}.setting-row{flex-direction:row!important;align-items:center}.setting-row span{flex:1}.hint{line-height:1.5}.file-btn input{display:none}.toast{position:fixed;z-index:50;left:50%;bottom:26px;transform:translateX(-50%);background:var(--ink);color:var(--body);padding:9px 14px;border-radius:10px;font-size:13px;font-weight:700;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1}
@media(max-width:760px){.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;transform:translateX(-102%);transition:.2s;box-shadow:0 0 30px var(--shadow)}.sidebar.open{transform:none}.mobile-only{display:grid}.topbar{height:64px;padding:7px 14px}.content{padding:14px 14px 100px}.note-list{grid-template-columns:1fr}.fab{right:18px;bottom:76px;width:54px;height:54px}.bottom-nav{position:fixed;z-index:10;left:0;right:0;bottom:0;height:62px;padding-bottom:env(safe-area-inset-bottom,0);background:var(--card);border-top:1px solid var(--line);display:flex;flex-direction:row;justify-content:space-around}.bottom-nav .nav-item{flex:1;flex-direction:column;gap:1px;justify-content:center;align-items:center;font-size:10px;padding:5px}.bottom-nav .nav-item span:first-child{font-size:19px}.sheet{left:0;right:0;bottom:0;top:auto;transform:none;width:100%;border-radius:20px 20px 0 0;padding:12px 16px calc(16px + env(safe-area-inset-bottom,0px))}.sheet-handle{display:block;width:38px;height:4px;background:var(--line);border-radius:3px;margin:0 auto 12px}.sheet textarea{height:120px}.panel{padding:16px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.title-wrap p{display:none}}
