.door{position:fixed;right:16px;bottom:16px;z-index:200;transform:translateY(calc(-1 * var(--door-lift, 0px)));transition:transform .18s ease,bottom .2s ease}.grat-radio-active .door{bottom:calc(16px + var(--gr-reserve))}body.door-off .door{display:none}.door-fab{display:flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;border:2px solid var(--ink);border-radius:50%;background:var(--blue);color:#fff;box-shadow:5px 5px 0 var(--yellow);cursor:pointer;transition:background-color .18s ease,transform .12s ease}.door-fab:hover{background:var(--ink)}.door-fab:active{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--yellow)}.door-sheet{position:fixed;inset:0;z-index:999;overflow:hidden}.door-sheet[hidden]{display:none}body.door-open{overflow:hidden}.door-scrim{position:absolute;inset:0;background:rgba(16,33,59,.42)}.door-panel{position:absolute;inset:2.5vh 2.5vw;display:flex;flex-direction:column;background:#fff;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--yellow)}body.admin-bar .door-panel{top:calc(var(--wp-admin--admin-bar--height, 32px) + 2.5vh)}.door-head{flex:none;display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:2px solid var(--ink)}.door-title{flex:1;min-width:0;font:700 20px/1.15 var(--font-body);letter-spacing:-.035em;color:var(--ink)}.door-back,.door-close{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--ink);border-radius:0;background:var(--yellow);color:var(--ink);cursor:pointer;transition:background-color .18s ease,color .18s ease}.door-back[hidden]{display:none}.door-back:hover,.door-close:hover{background:var(--ink);color:#fff}.door-back-mark{transform:rotate(180deg)}.door-body{flex:1;min-height:0;display:flex}.door-view{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.door-view[hidden]{display:none}.door-view--grid{overflow:hidden}.door-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(max-content,1fr);gap:1px;margin:8px;background:var(--line);border:1px solid var(--line);overflow-y:auto}.door-tile{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:9px;padding:13px;border:0;border-radius:0;background:#fff;color:var(--ink);text-align:left;text-decoration:none;cursor:pointer;transition:background-color .18s ease,color .18s ease}.door-tile:hover{background:var(--sky)}.door-tile--filled{background:var(--blue);color:#fff}.door-tile--filled:hover{background:var(--ink);color:#fff}.door-tile--locked{background:var(--paper)}.door-mark{flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid}.door-name{display:block;font:700 17px/1.15 var(--font-body);letter-spacing:-.02em}.door-note{display:block;margin-top:4px;font:400 10px/1.35 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.door-tile--filled .door-note{color:#fff;opacity:.82}.door-pill{position:absolute;top:7px;right:7px;padding:4px 6px;border:1px solid var(--ink);background:var(--yellow);color:var(--ink);font:400 9px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.door-pill--free{background:var(--orange);border-color:var(--orange);color:var(--acc-ink)}.door-tile--flagged{grid-column:1/-1}.door-foot{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:12px 14px;border-top:1px solid var(--line)}.door-link{font:700 14px/1.2 var(--font-body);color:var(--blue);text-decoration:none;white-space:nowrap}.door-link:hover{color:var(--ink)}.door-actions{display:flex;gap:8px;margin-left:auto}.door-foot [hidden]{display:none}.door-mount{padding:14px}.door-loading{margin:40px 0;text-align:center;color:var(--muted)}.door-feed{display:grid;gap:2px;padding:10px 14px}.door-feed-h{margin-bottom:4px;font:400 10px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.door-feed-item{display:block;padding:9px 10px;border:1px solid transparent;color:var(--ink);text-decoration:none}.door-feed-item:hover{border-color:var(--line);background:var(--sky)}.door-soon-item:hover{border-color:transparent;background:none}.door-feed-kind{display:block;font:400 10px/1.4 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.door-feed-title{display:block;font-weight:700;line-height:1.25}.door-feed .feedList{display:grid;gap:2px;margin:0;padding:0;list-style:none}.door-feed .feedRow-link{display:block;padding:9px 10px;border:1px solid transparent;color:var(--ink);text-decoration:none}.door-feed .feedRow-link:hover{border-color:var(--line);background:var(--sky)}.door-feed .feedRow-title{display:block;font-weight:700;line-height:1.25}.door-feed .feedRow-meta{display:flex;align-items:baseline;gap:8px;margin-top:2px;font:400 10px/1.4 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.door-feed .feedRow-date{font-variant-numeric:tabular-nums}.door-feed .feedRow-flag{padding:2px 5px;border:1px solid var(--ink);background:var(--yellow);color:var(--ink);font-size:9px;line-height:1;letter-spacing:.06em}.door-soon-note{display:block;margin-top:2px;font-size:13px;line-height:1.35;color:var(--muted)}.door-more{margin:6px 14px 16px}.door-form{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;padding:14px;max-width:660px}.door-label{font:400 10px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.door-input{width:100%;padding:12px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:400 15px/1.35 var(--font-body)}.door-input:hover{border-color:var(--ink)}.door-textarea{flex:1;min-height:120px;resize:vertical}.door-send{width:100%;margin-top:6px}.door-done{margin:4px 0 0;font-weight:700;color:var(--green)}.door-done.is-err{color:var(--red)}.door-done[hidden]{display:none}.door-fine{margin:2px 0 0;font-size:13px;color:var(--muted)}.door-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media (max-width:782.98px){.door-link{flex:1 0 100%}.door-actions{flex:1 1 100%;margin-left:0}.door-actions .cta-btn{flex:1 1 auto}}@media (min-width:783px){.door{right:24px;bottom:24px}.grat-radio-active .door{bottom:calc(24px + var(--gr-reserve))}.door-title{font-size:24px}.door-grid{grid-template-columns:repeat(3,1fr);margin:10px}.door-tile{padding:16px}.door-name{font-size:19px}.door-foot,.door-head{padding:14px 18px}.door-form,.door-mount{padding:18px}}