/* The spike's shell on top of the page's own sticker-notebook look (lurifaks.css is page/styles.css, copied by build.mjs) */
.wrap { max-width: 560px; }
#app { display: grid; gap: 18px; }
.app-laster { text-align: center; color: var(--muted); font: 600 1.1rem var(--display); margin-block: 64px; }
.app-card { background: var(--paper); border: 2.5px solid var(--outline); border-radius: 20px; box-shadow: 4px 4px 0 var(--outline); padding: 18px 20px 20px; display: grid; gap: 14px; }
.app-card h2 { margin: 0; font: 700 1.35rem/1.2 var(--display); }
.app-card p { margin: 0; }
.app-muted { color: var(--muted); font-size: 0.95rem; }
.app-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; background: var(--row); border: 2px solid var(--line); border-radius: 999px; padding: 4px; }
.app-tab { font: 700 1rem var(--display); padding: 8px 10px; border: 0; border-radius: 999px; background: transparent; color: var(--muted); cursor: pointer; min-height: 44px; }
.app-tab[aria-selected="true"] { background: var(--button); color: var(--button-ink); }
.app-field { display: grid; gap: 4px; font-weight: 800; font-size: 0.95rem; }
.app-field input, .app-field select { font: 600 1.05rem var(--body); color: var(--ink); background: var(--paper); border: 2.5px solid var(--outline); border-radius: 14px; padding: 10px 12px; min-height: 48px; width: 100%; }
.app-field input:focus-visible, .app-field select:focus-visible, .app-btn:focus-visible, .app-tab:focus-visible, .app-link:focus-visible { outline: 3px solid var(--sticker); outline-offset: 2px; }
.app-hint { font-weight: 600; font-size: 0.85rem; color: var(--muted); }
.app-btn { font: 700 1.1rem var(--display); color: var(--button-ink); background: var(--button); border: 2.5px solid var(--outline); border-radius: 16px; box-shadow: 3px 3px 0 var(--outline); padding: 10px 18px; min-height: 48px; cursor: pointer; }
.app-btn:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--outline); }
.app-btn[disabled] { opacity: 0.6; cursor: progress; }
.app-btn--quiet { background: var(--paper); color: var(--ink); }
.app-link { background: none; border: 0; padding: 4px 0; min-height: 44px; font: 700 1rem var(--body); color: var(--link); text-decoration: underline; cursor: pointer; text-align: left; }
.app-msg { margin: 0; padding: 10px 14px; border-radius: 14px; border: 2px solid var(--proeve); background: var(--proeve-bg); color: var(--proeve); font-weight: 800; }
.app-msg[hidden] { display: none; }
.app-msg--ok { border-color: var(--aktivitet); background: var(--aktivitet-bg); color: var(--aktivitet); }
.app-kids { display: flex; flex-wrap: wrap; gap: 8px; }
.app-kid { font: 700 1rem var(--display); padding: 6px 14px; min-height: 44px; border-radius: 999px; border: 2.5px solid var(--outline); background: var(--paper); color: var(--ink); cursor: pointer; }
.app-kid[aria-pressed="true"] { background: var(--sticker); color: var(--sticker-ink); }
.app-foot { display: grid; gap: 10px; margin-top: 8px; }
.app-hero { margin-bottom: 4px; }
details.app-card summary { font: 700 1.05rem var(--display); cursor: pointer; min-height: 44px; display: flex; align-items: center; }
