.km-discovery-tools{max-width:1100px;margin:16px auto 0;padding:0 18px;display:flex;align-items:center;gap:12px}.km-note-search{display:flex;align-items:center;gap:9px;background:#fffdf4;border:1px solid #d5ddc7;border-radius:9px;padding:7px 10px;flex:1;max-width:440px;color:#79906b}.km-note-search input{width:100%;border:0;outline:none;background:transparent;font:12px system-ui;color:#45603d;padding:3px}.km-note-search kbd{font:10px system-ui;border:1px solid #dce2cf;border-radius:3px;padding:1px 4px;color:#95a182}.km-unlearned{border:1px solid #d3dcc4;border-radius:8px;background:#f0f3e6;color:#6f825e;padding:10px 12px;font-size:10px;font-weight:700}.km-unlearned[aria-pressed=true]{background:#345a40;color:#fffce9}.km-match-count{font-size:10px;color:#879376;white-space:nowrap}.km-draft-status{display:block;font-size:9px;color:#8d977f;margin-top:4px}
.km-desk-toolbar{display:flex;max-width:1100px;margin:12px auto 2px;padding:0 18px;gap:13px;align-items:center;justify-content:space-between;font-size:10px;color:#7d8d6f}.km-desk-toolbar strong{color:#536c43;font-weight:750}.km-desk-actions{display:flex;align-items:center;gap:7px}.km-desk-actions button{border:1px solid #cbd6ba;background:#fafbf0;color:#5f7750;padding:7px 10px;border-radius:6px;font:700 10px system-ui;white-space:nowrap}.km-desk-actions button:disabled{opacity:.45;cursor:default}.km-desk-actions .km-pan-toggle{display:none}.km-pull-desk{border:1px solid #bccaaa;background:#edf2df;color:#4e6d3e;border-radius:8px;padding:10px 12px;font-size:10px;font-weight:800;white-space:nowrap}.km-pull-desk:hover{background:#e0e9ca}
.km-paper-layer{position:absolute;inset:0;z-index:1000;pointer-events:none;overflow:visible}.km-paper-desk{position:absolute;left:0;right:0;border-top:1px solid #c3cbb263;border-bottom:3px solid #9fae8b66;background:linear-gradient(0deg,#d5d3b723,#e3dfca1a),repeating-linear-gradient(0deg,transparent 0,transparent 16px,#b8c6aa12 17px,transparent 18px);pointer-events:none}.km-paper-desk:before{content:"";position:absolute;bottom:0;left:0;right:0;height:35px;background:linear-gradient(0deg,#899a7220,transparent)}.km-desk-caption{position:absolute;left:35px;top:17px;color:#8b9577;font-size:9px;letter-spacing:.15em;text-transform:uppercase}.km-desk-caption span{display:block;text-transform:none;letter-spacing:0;font:italic 12px Georgia;color:#9a9477;margin-top:7px}.km-return-target{position:absolute;z-index:999;top:16px;transform:translateX(-50%);background:#fffdf2e8;border:1px dashed #8ea67c;padding:9px 17px;border-radius:99px;font-size:11px;font-weight:750;color:#6b8554;opacity:0;transition:opacity .2s,background .2s,transform .2s;pointer-events:none;white-space:nowrap;box-shadow:0 4px 16px #50663e12}.km-return-target.visible{opacity:1}.km-return-target.ready{background:#dfecc7;transform:translateX(-50%) scale(1.06);color:#375d30;border-style:solid}
.km-card{touch-action:none;cursor:grab}.km-card.is-loose-origin .km-card-face{opacity:.18;filter:saturate(.45)}.km-card.is-loose-origin:focus-visible .km-card-face,.km-card.is-loose-origin:hover .km-card-face{opacity:.45}.km-viewport.is-manipulating .km-card:hover .km-card-face{transform:rotate(var(--angle))}.km-viewport.km-pan-mode .km-card{pointer-events:none}.km-dragging,.km-dragging *{user-select:none!important;cursor:grabbing!important}
.km-loose-card{position:absolute;left:0;top:0;width:172px;height:114px;padding:10px 12px 8px;background:var(--paper-color,#fff9e9);border:1px solid #c7c6ad;border-radius:3px 6px 3px 5px;box-shadow:1px 2px 0 #d6d0b3,2px 4px 0 #f0ead2,0 var(--shadow-y,7px) var(--shadow-blur,15px) #293d2b2b;color:#35503d;pointer-events:auto;touch-action:none;cursor:grab;will-change:transform;transform-origin:center;overflow:hidden;outline-offset:5px;backface-visibility:hidden}.km-loose-card:before{content:"";position:absolute;left:8px;right:8px;top:24px;border-top:1px solid #b8c5a758}.km-loose-card small{display:block;font:700 7px/1.2 system-ui;letter-spacing:.08em;text-transform:uppercase;color:#7e906c;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding-right:3px}.km-loose-card strong{font:500 16px/1.13 Georgia,serif;letter-spacing:-.03em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:11px 0 3px;max-height:37px}.km-loose-card .km-loose-sub{font:italic 8px/1.2 Georgia;color:#899773;max-width:125px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.km-loose-controls{position:absolute;bottom:7px;left:10px;right:9px;display:flex;justify-content:space-between;align-items:center}.km-loose-controls button{font:700 8px system-ui;border:0;background:#ecf0decc;color:#5e774b;border-radius:4px;padding:3px 6px;cursor:pointer;touch-action:manipulation}.km-loose-controls button:hover{background:#d7e4c1}.km-loose-card.is-held{box-shadow:2px 4px 0 #d6d0b3,3px 6px 0 #f0ead2,0 25px 34px #273f2d45;cursor:grabbing}.km-loose-card.is-picked{opacity:.55}.km-loose-card.is-returning{pointer-events:none}.km-card.is-loose-origin{cursor:alias}.km-paper-desk p{position:absolute;right:32px;bottom:16px;margin:0;font:italic 11px Georgia;color:#95a17d}.km-physics-help{border:0;border-bottom:1px dotted #aab996;background:none;padding:0;color:#7d8d6f;font:inherit;cursor:help}.km-physics-instructions{max-width:1100px;margin:8px auto 6px;padding:12px 18px;background:#edf1e2;border:1px solid #d8dfca;border-radius:8px;color:#748464;font-size:11px;line-height:1.6}.km-physics-instructions kbd{font:9px system-ui;padding:2px 4px;border:1px solid #ccd7ba;border-radius:3px;background:#f9fbef}.km-physics-instructions p{margin:3px 0}.km-filters button:focus-visible,.km-pull-desk:focus-visible{outline:2px solid #bd7445;outline-offset:3px}body.km button:disabled{cursor:default}
@media(max-width:700px){.km-discovery-tools{gap:7px;flex-wrap:wrap;margin-top:12px;padding:0 16px}.km-note-search{max-width:none;flex-basis:65%;padding:7px 9px}.km-note-search input{font-size:11px}.km-unlearned{font-size:9px;padding:9px}.km-match-count{display:none}.km-desk-toolbar{padding:0 16px;gap:8px;flex-wrap:wrap;margin-top:10px}.km-desk-actions{gap:5px}.km-desk-actions button{font-size:9px;padding:7px}.km-desk-actions .km-pan-toggle{display:inline-block}.km-pan-toggle[aria-pressed=true]{background:#d9e7bf;color:#47693b}.km-desk-caption{left:25px;font-size:8px}.km-desk-caption span{font-size:11px}.km-paper-desk p{font-size:9px;right:18px;max-width:170px;text-align:right}.km-return-target{font-size:10px;padding:9px 12px}.km-physics-instructions{margin:8px 16px;font-size:10px}.km-tools{flex-wrap:wrap}.km-pull-desk{font-size:10px;padding:10px}.km-loose-card{will-change:auto}}
@media(prefers-reduced-motion:reduce){.km-loose-card{will-change:auto}.km-return-target{transition:none}}

/* Cards are handles; the opened note remains normal, copyable reading text. */
.km-card,.km-card *,.km-loose-card,.km-loose-card *{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.km-note-sheet{-webkit-user-select:text;user-select:text}
.km-opening .km-note-sheet,.km-opening .km-note-sheet *{-webkit-user-select:none;user-select:none}
.km-opening .km-note-sheet input,.km-opening .km-note-sheet textarea{-webkit-user-select:text;user-select:text}
.km-loose-card{transition:none}
.km-card-face,.km-ground,.km-summit-flag,.km-altitude,.km-field-label{translate:var(--km-drift-x,0px) var(--km-drift-y,0px)}

/* The outer card owns collisions; its inner paper can bow and catch the air. */
.km-loose-card,.km-loose-card.is-held{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.km-loose-card:before{display:none}
.km-paper-surface{position:absolute;inset:0;padding:10px 12px 8px;background:var(--paper-color,#fff9e9);border:1px solid #c7c6ad;border-radius:calc(3px + var(--paper-curve,0px)) 6px calc(3px + var(--paper-curve,0px)) 5px;box-shadow:1px 2px 0 #d6d0b3,2px 4px 0 #f0ead2,0 var(--shadow-y,7px) var(--shadow-blur,15px) #293d2b2b;transform-origin:50% 50%;backface-visibility:hidden;overflow:hidden}
.km-paper-surface:before{content:"";position:absolute;left:8px;right:8px;top:24px;border-top:1px solid #b8c5a758}
.km-paper-surface:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,#fff9 0%,transparent 36%,#6b694626 69%,#fff8 100%);opacity:var(--paper-flex,0)}
.km-paper-curl{position:absolute;right:-1px;top:-1px;width:15px;height:15px;border-radius:0 3px 0 6px;background:linear-gradient(225deg,#f9f5df 42%,#d8d0ac 49%,#fffcf0 53%);box-shadow:-2px 2px 3px #736d4938;transform:translate(6px,-6px) rotate(4deg);opacity:var(--paper-flex,0);pointer-events:none}
.km-loose-card.is-held .km-paper-surface{box-shadow:2px 4px 0 #d6d0b3,3px 6px 0 #f0ead2,0 25px 34px #273f2d45}
.km-loose-card[data-motion=held] .km-paper-surface,.km-loose-card[data-motion=falling] .km-paper-surface{will-change:transform}
.km-loose-card:focus,.km-loose-card:focus-visible{outline:none}
.km-loose-card:focus-visible .km-paper-surface>strong{text-decoration:underline;text-decoration-color:#74986c;text-underline-offset:3px}
@media(prefers-reduced-motion:reduce){.km-paper-surface{transform:none!important;will-change:auto!important;--paper-flex:0!important;--paper-curve:0px!important}.km-paper-curl{display:none}}

/* Keep motion on compositor-friendly transforms and opacity. */
.km-paper-surface{border-radius:3px 6px 3px 5px}
.km-paper-surface:after{display:none}
.km-paper-sheen{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,#fff9,transparent 36%,#6b694626 69%,#fff8);opacity:0}
.km-paper-curl{opacity:0}
.km-card-face{translate:none;transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.km-card:hover,.km-card:focus-visible{filter:none}
.km-loose-card[data-motion=held] .km-paper-sheen,.km-loose-card[data-motion=falling] .km-paper-sheen{will-change:opacity}
@media(prefers-reduced-motion:reduce){.km-paper-sheen{display:none}.km-card-face{transition:none}}

/* Keep the large static pile out of permanently promoted texture layers. */
.km-pile{will-change:auto}
.km-loose-card{contain:layout style;will-change:auto}
.km-loose-card[data-motion=held],.km-loose-card[data-motion=falling]{will-change:transform}
.km-loose-card[data-motion=resting] .km-paper-surface{will-change:auto}
.km-paper-surface,.km-loose-card.is-held .km-paper-surface{box-shadow:1px 2px 0 #d6d0b3,0 7px 12px #293d2b30}
.km-paper-layer[data-quality=light] .km-paper-surface{box-shadow:1px 2px 0 #d6d0b3,0 3px 5px #293d2b25;will-change:auto}
.km-paper-layer[data-quality=light] .km-paper-sheen,.km-paper-layer[data-quality=light] .km-paper-curl{display:none}
.km-viewport.is-manipulating .km-card-face{transition:none}
#km-paper-effects{min-width:99px}

/* A loose card bows and flutters through its outer matrix. Its paper face and
   highlight stay rasterized together instead of creating nested 3D layers. */
.km-loose-card{backface-visibility:visible;transform-origin:50% 50%}
.km-loose-card .km-paper-surface{transform:none!important;will-change:auto!important;backface-visibility:visible;box-shadow:1px 2px 0 #d6d0b3,0 4px 7px #293d2b28}
.km-loose-card[data-motion=held] .km-paper-surface,.km-loose-card[data-motion=falling] .km-paper-surface{box-shadow:1px 2px 0 #d6d0b3,0 3px 5px #293d2b25}
.km-loose-card .km-paper-sheen,.km-loose-card[data-motion=held] .km-paper-sheen,.km-loose-card[data-motion=falling] .km-paper-sheen{will-change:auto;transition:none}
