/* Widget layout only; the shared site.css and theme remain authoritative. */
.w-wrap{max-width:1440px;margin:auto;padding-inline:clamp(16px,4vw,64px)}
.w-header{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding-block:18px}.w-slot-brand .brand img{width:34px;height:34px}.w-slot-navigation{flex:1}.w-slot-language{margin-left:auto}.w-slot-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.w-toolbar{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:38px 0 24px}.w-toolbar h1{margin:0;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.035em}.w-eyebrow{font:700 .7rem/1.6 var(--mono);color:var(--action);letter-spacing:.12em;margin:0 0 10px}.w-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.w-check{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted)}.w-check input{width:18px;height:18px}
.w-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;align-items:start}.w-widget{min-width:0;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 3px 16px #14251905;scroll-margin-top:20px}.w-width-3{grid-column:span 3}.w-width-4{grid-column:span 4}.w-width-6{grid-column:span 6}.w-width-8{grid-column:span 8}.w-width-12{grid-column:span 12}
.w-widget-head{display:flex;align-items:center;gap:6px;padding:16px 20px;border-bottom:1px solid var(--border)}.w-widget-head h2{font-size:.98rem;line-height:1.3;flex:1;margin:0;min-width:0}.w-widget-head .w-button,.w-options summary{font-size:.68rem;padding:4px 8px;min-height:32px;color:var(--muted)}.w-content{padding:22px;min-width:0}.w-content[hidden]{display:none}.w-description{font-size:.85rem;color:var(--muted);margin:0 0 16px;line-height:1.7}.w-button{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:9px 13px;min-height:44px;font:600 .8rem/1.4 var(--sans);cursor:pointer}.w-button:hover{background:var(--sunken)}.w-button:disabled{opacity:.6;cursor:default}.w-primary{background:var(--action);color:var(--on-action);border-color:var(--action)}.w-open{display:inline-block;margin:16px 0 0;font-size:.85rem;font-weight:650;text-decoration:none}.w-stack{display:flex;flex-direction:column;gap:10px}.w-badge{display:inline-block;border-radius:20px;padding:3px 9px;font-size:.68rem;background:var(--sunken);color:var(--muted);margin-right:10px}.w-badge.implemented,.w-badge.native{background:var(--ok-bg);color:var(--ok)}.w-badge.open{background:var(--warn-bg);color:var(--warn)}.w-badge.project{background:var(--info-bg);color:var(--info)}
.w-welcome{display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(120deg,var(--surface),var(--sunken));border-radius:0 0 16px 16px;padding:30px}.w-welcome>div:first-child{max-width:650px}.w-welcome-title{font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.1;letter-spacing:-.04em;font-weight:700;margin:0 0 16px}.w-welcome p:not(.w-welcome-title){color:var(--muted)}.w-mosaic{display:grid;grid-template-columns:repeat(2,64px);gap:10px;transform:rotate(-7deg);padding:10px 30px}.w-mosaic span{display:grid;place-content:center;height:64px;border-radius:14px;background:var(--surface);border:1px solid var(--border);font-size:26px;color:var(--action)}.w-mosaic span:first-child{background:var(--action);color:var(--on-action)}.w-mosaic span:last-child{background:var(--accent);color:#18211c}
.w-search{display:flex;gap:10px;margin-bottom:12px}input[type=search],input:not([type]),textarea,select{font:inherit;font-size:.85rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;min-height:44px;max-width:100%}.w-search input{flex:1;min-width:0}.w-content select{width:100%;margin:8px 0 14px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.w-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.w-project{min-width:0}.w-project-title{font-weight:700;font-size:.95rem;text-decoration:none;line-height:1.4}.w-project code{font-size:.63rem;color:var(--muted);overflow-wrap:anywhere}.w-project p{font-size:.78rem;color:var(--muted);margin:0;overflow-wrap:anywhere}.w-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto}.w-tags span{font-size:.6rem;border-radius:4px;background:var(--sunken);padding:2px 6px;overflow-wrap:anywhere}.w-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}.w-card-actions a{font-size:.72rem}.w-card-actions button{font-size:.67rem;padding:6px 8px;min-height:32px}.w-empty{font-size:.85rem;color:var(--muted);background:var(--sunken);padding:16px;border-radius:8px;margin:0 0 12px}
.w-options{position:relative}.w-options summary{cursor:pointer;list-style:none;border-radius:6px;border:1px solid var(--border)}.w-options-panel{position:absolute;z-index:5;right:0;top:38px;width:190px;display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--border);padding:12px;border-radius:10px;box-shadow:0 10px 32px #0002}.w-options-panel a{font-size:.8rem}.w-section-heading{padding:48px 0 22px}.w-section-heading p:last-child{color:var(--muted);max-width:65ch;font-size:.9rem;margin-bottom:0}footer{margin-top:50px}
.w-news{list-style:none;margin:0;padding:0}.w-news li{display:flex;flex-wrap:wrap;gap:6px 12px;padding:12px 0;border-bottom:1px solid var(--border)}.w-news li:last-child{border:0}.w-news time{font: .7rem var(--mono);color:var(--muted)}.w-news a{font-size:.9rem;font-weight:650}.w-news small{color:var(--muted);font-size:.7rem}.w-news p{width:100%;font-size:.8rem;margin:0;color:var(--muted)}.w-feature-form{display:flex;flex-direction:column;gap:10px;margin-top:18px}.w-feature-form button{align-self:start}.w-content details{font-size:.82rem}.w-content details li{margin-bottom:8px}.w-content details summary{cursor:pointer;font-weight:650}.w-favourite-list>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.w-favourite-list code{font-size:.68rem;overflow-wrap:anywhere}.w-capabilities{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:.85rem}.w-capabilities dd{margin:0}.w-single{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;margin:24px 0}.w-back{display:inline-block;margin-top:24px}
dialog{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:18px;max-width:680px;width:calc(100% - 32px);max-height:85vh;padding:28px}dialog::backdrop{background:#07150c99}.w-catalogue{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.w-catalogue label{display:grid;grid-template-columns:20px 1fr;gap:4px 8px;padding:10px;background:var(--sunken);border-radius:8px;font-size:.85rem}.w-catalogue small{grid-column:2;color:var(--muted);font-size:.68rem}.w-catalogue input{width:18px;height:18px}dialog>.w-button{margin-right:10px}#workspace-status:empty{display:none}#workspace-status{font-size:.85rem;color:var(--action)}
@media(max-width:1000px){.w-toolbar{align-items:start;flex-direction:column}.w-width-3,.w-width-4{grid-column:span 6}.w-width-8{grid-column:span 12}.w-slot-navigation{order:3;flex-basis:100%}}
@media(max-width:640px){.w-grid{grid-template-columns:minmax(0,1fr);gap:14px}.w-widget{grid-column:1}.w-project-grid{grid-template-columns:1fr}.w-mosaic{display:none}.w-welcome{padding:22px}.w-content{padding:16px}.w-widget-head{padding:12px}.w-controls .w-check{flex-basis:100%}.w-header{gap:10px}.w-catalogue{grid-template-columns:1fr}.w-search{flex-direction:column}.w-capabilities{grid-template-columns:1fr}.w-capabilities dd{justify-self:start}.w-slot-footer{align-items:start;flex-direction:column}}
@media(pointer:coarse){.w-widget-head .w-button,.w-options summary,.w-card-actions button{min-height:44px;display:flex;align-items:center}.w-widget-head{flex-wrap:wrap}}

:root[data-theme="light"]{--bg:#f4f5ef;--surface:#ffffff;--raised:#ffffff;--sunken:#e9ece2;--border:#cfd5c4;--control:#6a7563;--text:#18211c;--muted:#4f5a52;--action:#2c6a4c;--on-action:#ffffff;--link:#2c6a4c;--focus:#2c6a4c;--accent:#d9a441;--on-accent:#18211c;--accent-text:#7a5200;--line:#6f9a7f;--ok:#1e6b45;--ok-bg:#e2f2e8;--warn:#7a5200;--warn-bg:#fbf0d9;--danger:#a3262c;--danger-bg:#fbe7e7;--info:#2c5b7a;--info-bg:#e5eef4;--series-1:#2c6a4c;--series-2:#a2531a;--series-3:#2c5b7a;--series-4:#7a5200;--series-5:#8a3b6b;--series-6:#3f6b1f;--series-7:#5b4a9a;--series-8:#a3262c;color-scheme:light}

:root[data-theme="dark"]{--bg:#0f1411;--surface:#171e1a;--raised:#1e2722;--sunken:#0b100d;--border:#2f3b34;--control:#7f8f84;--text:#eef2ec;--muted:#a6b2a8;--action:#7fc8a0;--on-action:#0f1411;--link:#8fd4ae;--focus:#8fd4ae;--accent:#e4b558;--on-accent:#0f1411;--accent-text:#f0c878;--line:#5e8a70;--ok:#7fd1a1;--ok-bg:#163024;--warn:#f0c878;--warn-bg:#33270f;--danger:#ff9a9a;--danger-bg:#3a1719;--info:#9cc6e6;--info-bg:#15283a;--series-1:#7fc8a0;--series-2:#f0a46a;--series-3:#9cc6e6;--series-4:#f0c878;--series-5:#e59cc9;--series-6:#a9d67f;--series-7:#b9a8f0;--series-8:#ff9a9a;color-scheme:dark}

:root[data-theme="dark"] .brand img{filter:invert(1)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand img{filter:invert(1)}}
/* devices.js (owner 2026-10-31): the drawing board — squared paper, dimension lines in px · in · cm, the page in device size */
.w-devices-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px}
.w-devices-bar label{margin:0}.w-devices-bar select{width:auto;max-width:100%;flex:0 1 auto}
.w-devices-bar select,.w-devices-bar input{min-height:40px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit}
.w-devices-bar input{width:12rem}.w-devices-bar input[aria-invalid="true"]{border-color:var(--warn)}
.w-devices-bar [aria-pressed="true"]{background:var(--action);color:var(--on-action)}
.w-devices-board{position:relative;overflow:auto;padding:28px 24px 16px;border-radius:14px;border:1px solid var(--border);
  background-color:color-mix(in srgb,var(--surface) 92%,var(--info) 8%);
  background-image:linear-gradient(color-mix(in srgb,var(--info) 14%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--info) 14%,transparent) 1px,transparent 1px),
    linear-gradient(color-mix(in srgb,var(--info) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--info) 7%,transparent) 1px,transparent 1px);
  background-size:50px 50px,50px 50px,10px 10px,10px 10px}
.w-devices-sheet{display:grid;grid-template-columns:auto auto;grid-template-areas:"corner top" "side screen";gap:8px;justify-content:center;align-items:start}
.w-devices-corner{grid-area:corner}
.w-devices-dim{position:relative;font:600 .78rem/1.2 var(--mono,ui-monospace,monospace);color:var(--info);text-align:center;white-space:nowrap}
.w-devices-dim-w{grid-area:top;padding-bottom:10px;border-bottom:1.5px solid var(--info)}
.w-devices-dim-w::before,.w-devices-dim-w::after{content:"";position:absolute;bottom:-5px;width:1.5px;height:9px;background:var(--info)}
.w-devices-dim-w::before{left:0}.w-devices-dim-w::after{right:0}
.w-devices-dim-h{grid-area:side;writing-mode:vertical-rl;transform:rotate(180deg);padding-left:10px;border-left:1.5px solid var(--info);display:flex;align-items:center;justify-content:center}
.w-devices-dim-h::before,.w-devices-dim-h::after{content:"";position:absolute;left:-5px;width:9px;height:1.5px;background:var(--info)}
.w-devices-dim-h::before{top:0}.w-devices-dim-h::after{bottom:0}
.w-devices-screen{grid-area:screen;position:relative;overflow:hidden;background:var(--surface);outline:8px solid #1f2933;border-radius:10px;box-shadow:0 18px 40px rgb(16 42 67 / .25)}
.w-devices-phone,.w-devices-foldable{border-radius:22px;outline-width:10px}.w-devices-watch{border-radius:34px;outline-width:12px}
.w-devices-tv,.w-devices-monitor{border-radius:4px}
.w-devices-screen iframe{position:absolute;top:0;left:0;border:0;transform-origin:0 0;background:var(--bg)}
.w-devices-info{margin:14px 0 0;text-align:center;color:var(--muted);font-size:var(--t-small)}
.w-devices-note{margin:8px 0 0;color:var(--muted);font-size:var(--t-small)}
