/* principle.css — the integration of a principle (principle.js 1.0.0): a panel grown from the card, built-in / planned / wishes.
   version: 1.1.1 · created 2026-11-01 by Pascal Ehlig, ITS · edited 2026-11-01 by Pascal Ehlig, ITS */
.principles>li[data-pr-selected]{outline:2px solid var(--accent,#fb683e);outline-offset:2px}
.pr-back{position:fixed;inset:0;z-index:2147482300;background:rgb(16 42 67 / .35)}
.pr-pop{position:fixed;z-index:2147482350;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));top:calc(var(--sheet-top,64px) + 8px);bottom:calc(var(--sheet-bottom,72px) + 8px);
  max-width:720px;margin-inline:auto;overflow:auto;overscroll-behavior:contain;padding:18px 18px 20px;border:3px solid var(--accent,#fb683e);border-radius:22px;
  background:var(--surface,#fff);color:var(--text,#102a43);box-shadow:0 24px 60px rgb(0 0 0 / .35);animation:pr-grow .22s ease-out}
@keyframes pr-grow{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
.pr-x{position:sticky;top:0;float:right;width:44px;height:44px;border:1px solid var(--border);border-radius:999px;background:var(--surface,#fff);color:var(--text);font:600 1.4rem/1 system-ui;cursor:pointer}
.pr-title{margin:4px 52px 6px 0;font-size:1.35rem}
.pr-lead{margin:0 0 10px;color:var(--muted,#486581)}
.pr-h{margin:16px 0 6px;font:600 .75rem/1 system-ui;letter-spacing:.05em;text-transform:uppercase;color:var(--muted,#486581)}
.pr-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.pr-list>li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:12px}
.pr-list>li>span{flex:1}
.pr-plan>li{flex-direction:column;align-items:flex-start;gap:2px}.pr-plan small{color:var(--muted,#486581);font-size:.78rem}
.pr-show,.pr-vote,.pr-send{min-height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface,#fff);color:var(--text);font:600 .85rem/1 inherit;cursor:pointer;white-space:nowrap}
.pr-show:hover,.pr-vote:hover{border-color:var(--accent,#fb683e);color:var(--accent,#fb683e)}
.pr-vote[aria-pressed="true"]{background:color-mix(in srgb,var(--accent,#fb683e) 14%,transparent);color:var(--accent,#fb683e)}
.pr-wait{color:var(--muted,#486581);border-style:dashed!important}
.pr-label{display:block;margin:12px 0 4px;font-weight:600}
.pr-text{display:block;width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface,#fff);color:var(--text);font:inherit;resize:vertical;-webkit-user-select:text;user-select:text}
.pr-send{margin-top:8px;background:var(--accent,#fb683e);color:#fff;border-color:transparent}
.pr-note{min-height:1.2em;margin:6px 0 0;font-size:.85rem;color:var(--muted,#486581)}
.pr-login{display:inline-block;margin-top:4px;color:var(--accent,#fb683e)}
.pr-show:focus-visible,.pr-vote:focus-visible,.pr-send:focus-visible,.pr-x:focus-visible,.principles>li:focus-visible{outline:3px solid var(--accent,#fb683e);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.pr-pop{animation:none}}
@media (forced-colors:active){.pr-pop{border-color:CanvasText}.principles>li[data-pr-selected]{outline-color:Highlight}}
/* 1.1.0: the visible way in — a small button in every principle */
.principles>li{position:relative}
.pr-open{display:inline-flex;align-items:center;gap:4px;margin-top:8px;min-height:36px;padding:0 12px;border:1px solid color-mix(in srgb,var(--accent,#fb683e) 55%,var(--border));border-radius:999px;
  background:color-mix(in srgb,var(--accent,#fb683e) 8%,var(--surface,#fff));color:var(--accent,#fb683e);font:600 .82rem/1 inherit;cursor:pointer}
.pr-open:hover,.pr-open:focus-visible{background:var(--accent,#fb683e);color:#fff;outline:none}
.principles>li[data-pr-selected] .pr-open{background:var(--accent,#fb683e);color:#fff}
[data-view="text"] .pr-open{display:none}
.principles li[data-icon]>.pr-open{grid-column:1 / -1;justify-self:start}   /* 1.1.1: the button spans the card — it no longer widens the icon column and pushes the title aside */
.principles li[data-icon]:has(>.pr-open){grid-template-rows:auto 1fr auto;align-content:stretch}.principles li[data-icon]>span{align-self:start}.principles li[data-icon]>.pr-open{align-self:end}   /* the buttons stand on one line at the bottom */
