*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:#f5f5f5;width:100vw;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;overflow:hidden}#sidebar{background:#2c2c2c;flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:56px;height:100vh;padding-top:16px;display:flex}.nav-btn{color:#aaa;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;transition:background .2s,color .2s;display:flex}.nav-btn:hover{color:#fff;background:#444}.nav-btn.active{color:#fff;background:#0078d4}#nav-settings{filter:grayscale()brightness(1.3)}#nav-settings.active{filter:none}#nav-account{filter:brightness(0)saturate()invert(78%)sepia(40%)saturate(600%)hue-rotate(335deg)brightness(105%)}#nav-account.active{filter:brightness(0)invert()}#content{flex-direction:column;flex:1;height:100vh;display:flex;overflow:hidden}#login-screen{z-index:100;background:#f5f5f5;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.login-box{background:#fff;border-radius:12px;flex-direction:column;gap:16px;width:360px;padding:40px;display:flex;box-shadow:0 2px 16px #0000001f}.login-box h1{color:#333;text-align:center;margin-bottom:8px;font-size:24px;font-weight:600}.login-box input{border:1px solid #ddd;border-radius:8px;outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s}.login-box input:focus{border-color:#0078d4}.btn-primary{color:#fff;cursor:pointer;background:#0078d4;border:none;border-radius:8px;padding:10px;font-size:14px;font-weight:500;transition:background .2s}.btn-primary:hover{background:#006abc}.btn-secondary{color:#0078d4;cursor:pointer;background:0 0;border:1px solid #0078d4;border-radius:8px;padding:10px;font-size:14px;font-weight:500;transition:all .2s}.btn-secondary:hover{background:#e8f3fb}.error-msg{color:#d32f2f;text-align:center;min-height:18px;font-size:13px}.login-logo{width:270px;height:auto;margin:0 auto 8px;display:block}.login-copyright{color:#aaa;text-align:center;margin-top:8px;font-size:11px}#home-screen{flex-direction:column;gap:12px;height:100%;padding:16px;display:flex;overflow:hidden}.search-bar{flex-shrink:0;gap:8px;display:flex}.search-input-wrap{flex:1;align-items:center;display:flex;position:relative}.search-input-wrap input{border:1px solid #ddd;border-radius:8px;outline:none;flex:1;width:100%;padding:8px 32px 8px 14px;font-size:14px}.search-input-wrap input:focus{border-color:#0078d4}#btn-search-clear{color:#aaa;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1;position:absolute;right:8px}#btn-search-clear:hover{color:#555}#filter-strip{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;display:flex}.filter-label{color:#888;white-space:nowrap;margin-right:2px;font-size:11px;font-weight:600}.filter-chip{cursor:pointer;color:#555;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #ddd;border-radius:16px;padding:4px 10px;font-size:12px;transition:all .15s}.filter-chip[data-stars]:hover{color:#b8930a;border-color:#e5b500}.filter-chip[data-stars].active{color:#333;background:#f5c518;border-color:#e5b500}#filter-favorites{color:#0078d4;border-color:#0078d4}#filter-favorites .fav-heart{color:#e03131}#filter-favorites:hover{background:#e8f3fb}#filter-favorites.active{color:#fff;background:#e03131;border-color:#e03131}#filter-favorites.active .fav-heart{color:#fff}#filter-pinned{color:#0078d4;border-color:#0078d4}#filter-pinned:hover{background:#e8f3fb}#filter-pinned.active{color:#fff;background:#e03131;border-color:#e03131}#filter-pinned.active .pin-emoji{filter:brightness(0)invert()}.sort-chip:hover{color:#2e7d32;border-color:#2e7d32}.sort-chip.active{color:#fff;background:#2e7d32;border-color:#2e7d32}.filter-divider{background:#ddd;flex-shrink:0;width:1px;height:16px;margin:0 2px}#tag-header{color:#888;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;padding:2px 0 4px;font-size:11px;font-weight:600;display:flex}#tag-header:hover{color:#555}#sort-strip{flex-shrink:0;align-items:center;gap:6px;display:flex}.tag-strip{flex-wrap:wrap;flex-shrink:0;gap:6px;display:flex}.tag-chip{cursor:pointer;color:#555;background:#fff;border:1px solid #ddd;border-radius:16px;padding:4px 12px;font-size:12px;transition:all .2s}.tag-chip:hover{color:#0078d4;border-color:#0078d4}.tag-chip.selected{color:#fff;background:#0078d4;border-color:#0078d4}.detail-tag-strip{flex-wrap:wrap;gap:6px;padding:10px 12px;display:flex}.recipe-list{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.recipe-row{cursor:pointer;background:#fff;border:1px solid #0000;border-radius:8px;flex-shrink:0;align-items:center;gap:12px;padding:10px 12px;transition:background .15s;display:flex}.recipe-row:hover{background:#e8f3fb;border-color:#0078d4}.recipe-row-name{flex:1;font-size:14px;font-weight:500}.recipe-row-author{color:#888;margin-left:8px;font-size:12px;font-weight:400}.recipe-row-actions{align-items:center;gap:6px;display:flex}.icon-btn{cursor:pointer;color:#aaa;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:16px;transition:background .15s}.icon-btn:hover{color:#333;background:#eee}.icon-btn.pinned{color:#e03131;opacity:1}.icon-btn.favorited{opacity:1}.icon-btn.move-top{color:#2e7d32;opacity:1;font-size:22px}.icon-btn:not(.pinned):not(.favorited):not(.move-top):not(.always-on){opacity:.25}#detail-screen{flex-direction:column;height:100%;display:flex;overflow:hidden}#detail-header{background:#fff;border-bottom:1px solid #eee;flex-shrink:0;align-items:center;gap:10px;padding:10px 16px;display:flex}#detail-recipe-name{border:1px solid #ddd;border-radius:6px;outline:none;flex:1;min-width:0;padding:6px 10px;font-size:16px;font-weight:600}#detail-recipe-name:focus{border-color:#0078d4}#detail-save-status{color:#888;text-align:right;flex-shrink:0;min-width:70px;font-size:12px}#detail-toolbar{background:#f8f8f8;border-bottom:1px solid #eee;flex-shrink:0;align-items:center;gap:6px;padding:6px 16px;display:flex}.fmt-btn{opacity:.4;transition:opacity .2s}#detail-toolbar.editing .fmt-btn{opacity:1}.toolbar-hint{color:#bbb;margin-left:8px;font-size:11px}.fmt-btn{cursor:pointer;color:#444;background:#fff;border:1px solid #ddd;border-radius:4px;padding:3px 10px;font-size:13px}.fmt-btn:hover{background:#e8f3fb;border-color:#0078d4}#detail-stars{flex-shrink:0;gap:4px;display:flex}.star-wrapper{cursor:pointer;flex-shrink:0;width:28px;height:28px;display:inline-block;position:relative;overflow:hidden}.star-bg{color:#ddd;-webkit-user-select:none;user-select:none;font-size:26px;line-height:1;position:absolute;top:0;left:0}.star-fill{color:#f0a500;white-space:nowrap;-webkit-user-select:none;user-select:none;width:0;font-size:26px;line-height:1;display:block;position:absolute;top:0;left:0;overflow:hidden}.star-zone{z-index:1;width:50%;height:100%;position:absolute;top:0}.star-zone.left{left:0}.star-zone.right{left:50%}#detail-rating-value{color:#aaa;flex-shrink:0;min-width:60px;font-size:12px}#detail-sections{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;display:flex;overflow-y:auto}.section-block{background:#fff;border:1px solid #eee;border-radius:8px;flex-shrink:0;overflow:hidden}.section-block-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8f8f8;border-bottom:1px solid #eee;align-items:center;gap:8px;padding:8px 12px;display:flex}.section-block-header:hover{background:#f0f0f0}.section-collapse-icon{color:#999;flex-shrink:0;width:22px;font-size:20px}.section-block-title{color:#555;text-transform:uppercase;letter-spacing:.5px;flex:1;font-size:12px;font-weight:600}.section-block-actions{gap:4px;display:flex}.section-data-dot{opacity:.7;background:#0078d4;border-radius:50%;flex-shrink:0;width:7px;height:7px}.section-entries{overflow:hidden}.section-entry-header{background:#fafafa;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.section-entry-label{color:#ccc;font-size:11px}.section-richtext{color:#333;word-wrap:break-word;outline:none;padding:10px 12px 10px 32px;font-family:inherit;font-size:14px;line-height:1.6;overflow-y:hidden}.section-richtext:focus{background:#fffef8}.link-entry{align-items:center;gap:8px;padding:6px 12px;display:flex}.section-input.links-input{color:#333;background:0 0;border:none;border-bottom:1px solid #ddd;outline:none;flex:1;padding:6px 8px;font-family:inherit;font-size:14px}.section-input.links-input:hover,.section-input.links-input:focus{color:#0078d4;background:#f8fbff;border-bottom-color:#0078d4;text-decoration:underline}.link-open-btn{cursor:pointer;color:#0078d4;background:0 0;border:1px solid #ddd;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:16px}.link-open-btn:hover:not(:disabled){background:#e8f3fb}.link-open-btn:disabled{opacity:.3;cursor:default}.author-combobox{border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-size:14px}.author-combobox:focus{border-color:#0078d4}.author-feedback{color:#888;margin-top:4px;padding:0 2px;font-size:12px}.btn-add-section{color:#0078d4;cursor:pointer;background:0 0;border:1px solid #0078d4;border-radius:4px;padding:3px 10px;font-size:12px}.btn-add-section:hover{background:#e8f3fb}.btn-remove-section{color:#aaa;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:4px;padding:2px 8px;font-size:11px}.btn-remove-section:hover{color:#d32f2f;border-color:#d32f2f}.btn-back{cursor:pointer;color:#555;white-space:nowrap;background:0 0;border:1px solid #ddd;border-radius:6px;flex-shrink:0;padding:6px 12px;font-size:14px}.btn-back:hover{background:#f0f0f0}.btn-print{cursor:pointer;color:#555;background:0 0;border:1px solid #ddd;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:16px}.btn-print:hover{background:#f0f0f0;border-color:#999}.toolbar-spacer{flex:1}#btn-paste-recipe{cursor:pointer;color:#555;white-space:nowrap;background:0 0;border:1px solid #ddd;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:15px}#btn-paste-recipe:hover{background:#f0f0f0;border-color:#999}#btn-delete-recipe{cursor:pointer;color:#555;background:0 0;border:1px solid #ddd;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:15px}#btn-delete-recipe:hover{color:#d32f2f;background:#fdecea;border-color:#d32f2f}#confirm-modal{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.confirm-box{background:#fff;border-radius:10px;flex-direction:column;gap:8px;width:340px;padding:28px 32px;display:flex;box-shadow:0 8px 32px #0003}#confirm-title{color:#222;font-size:15px;font-weight:600}#confirm-body{color:#888;margin-bottom:8px;font-size:13px}.confirm-buttons{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.confirm-buttons button{cursor:pointer;border:1px solid #ddd;border-radius:6px;padding:7px 20px;font-size:14px}#confirm-cancel{color:#555;background:#fff}#confirm-cancel:hover{background:#f0f0f0}#confirm-input{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:8px 10px;font-size:14px}#confirm-input:focus{border-color:#0078d4}#confirm-input-error{color:#d32f2f;min-height:16px;font-size:12px}#confirm-ok{color:#fff;background:#d32f2f;border-color:#d32f2f}#confirm-ok:hover{background:#b71c1c;border-color:#b71c1c}.toolbar-divider{background:#ddd;flex-shrink:0;width:1px;height:18px;margin:0 4px}#btn-new-recipe{color:#fff;cursor:pointer;z-index:50;background:#0078d4;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:32px;line-height:1;transition:background .2s,transform .15s,box-shadow .2s;display:flex;position:fixed;bottom:32px;right:32px;box-shadow:0 4px 12px #0003}#btn-new-recipe:hover{background:#006abc;transform:scale(1.08);box-shadow:0 6px 16px #00000040}#btn-new-recipe:active{transform:scale(.96)}.settings-page-title{color:#222;margin-bottom:24px;font-size:18px;font-weight:600}.settings-menu{flex-direction:column;gap:10px;max-width:320px;display:flex}.settings-menu-btn{color:#222;cursor:pointer;text-align:left;background:#fff;border:1px solid #e0e0e0;border-radius:10px;justify-content:space-between;align-items:center;padding:14px 18px;font-size:14px;font-weight:500;transition:background .12s,border-color .12s;display:flex}.settings-menu-btn:hover{background:#f5f8ff;border-color:#0078d4}.settings-menu-arrow{color:#aaa;font-size:18px}.settings-back-btn{color:#555;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:6px;margin-bottom:16px;padding:5px 12px;font-size:13px;display:inline-block}.settings-back-btn:hover{background:#f5f5f5}.settings-section{margin-bottom:36px}.settings-section-title{color:#222;border-bottom:2px solid #eee;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;font-size:15px;font-weight:600;display:flex}.btn-settings-add{color:#fff;cursor:pointer;background:#0078d4;border:none;border-radius:6px;padding:5px 14px;font-size:12px}.btn-settings-add:hover{background:#006cbf}.btn-settings-reset{color:#fff;cursor:pointer;background:#d32f2f;border:none;border-radius:6px;padding:5px 14px;font-size:12px}.btn-settings-reset:hover{background:#b71c1c}.settings-table{border-collapse:collapse;width:100%;font-size:13px}.settings-table th{text-align:left;color:#888;white-space:nowrap;border-bottom:1px solid #eee;padding:6px 8px;font-size:12px;font-weight:500}.settings-table td{vertical-align:middle;border-bottom:1px solid #f5f5f5;padding:4px 6px}.settings-table input[type=text]{box-sizing:border-box;background:#fafafa;border:1px solid #e8e8e8;border-radius:4px;width:100%;padding:5px 8px;font-size:13px}.settings-table input[type=text]:focus{background:#fff;border-color:#0078d4;outline:none}.settings-table input[type=number]{text-align:center;box-sizing:border-box;background:#fafafa;border:1px solid #e8e8e8;border-radius:4px;width:100%;padding:5px 6px;font-size:13px}.settings-table input[type=number]:focus{background:#fff;border-color:#0078d4;outline:none}.settings-row-actions{white-space:nowrap;gap:6px;display:flex}.btn-settings-save{color:#fff;cursor:pointer;background:#0078d4;border:none;border-radius:4px;min-width:56px;padding:4px 12px;font-size:12px}.btn-settings-save:hover{background:#006cbf}.btn-settings-delete{color:#d32f2f;cursor:pointer;background:#fff;border:1px solid #d32f2f;border-radius:4px;padding:4px 10px;font-size:12px}.btn-settings-delete:hover{background:#fdecea}.settings-help-text{color:#222;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-top:16px;padding:12px;font-size:13px;line-height:1.4}
