:root{--rulyo-color-canvas: #F5F3EE;--rulyo-color-surface: #FFFFFF;--rulyo-color-surface-raised: #EEEBE3;--rulyo-color-text: #141A2B;--rulyo-color-text-muted: #5C6478;--rulyo-color-border: #DCD8CD;--rulyo-color-primary: #2C4BFF;--rulyo-color-primary-foreground: #FFFFFF;--rulyo-color-success: #1E7A4C;--rulyo-color-warning: #8A5200;--rulyo-color-critical: #B0231F;--rulyo-color-info: #2653A6;--rulyo-color-focus: #2C4BFF;--rulyo-color-border-strong: #948C7A}[data-rulyo-theme=dark]{--rulyo-color-canvas: #141A2B;--rulyo-color-surface: #1D2438;--rulyo-color-surface-raised: #262F47;--rulyo-color-text: #F2F1EC;--rulyo-color-text-muted: #98A0B5;--rulyo-color-border: #2E3752;--rulyo-color-primary: #6884FF;--rulyo-color-primary-foreground: #0C0F1C;--rulyo-color-success: #58C08D;--rulyo-color-warning: #E8B054;--rulyo-color-critical: #F2827E;--rulyo-color-info: #8FB4EE;--rulyo-color-focus: #93A9FF;--rulyo-color-border-strong: #68739C}[data-rulyo-contrast=high]{--rulyo-color-canvas: #FFFFFF;--rulyo-color-surface: #FFFFFF;--rulyo-color-surface-raised: #FFFFFF;--rulyo-color-text: #000000;--rulyo-color-text-muted: #1A1A1A;--rulyo-color-border: #000000;--rulyo-color-primary: #001EB8;--rulyo-color-primary-foreground: #FFFFFF;--rulyo-color-success: #00532A;--rulyo-color-warning: #5A3200;--rulyo-color-critical: #8A0000;--rulyo-color-info: #002E77;--rulyo-color-focus: #000000;--rulyo-color-border-strong: #000000}:root{--rulyo-space-1: 4px;--rulyo-space-2: 8px;--rulyo-space-3: 12px;--rulyo-space-4: 16px;--rulyo-space-5: 20px;--rulyo-space-6: 24px;--rulyo-space-8: 32px;--rulyo-space-10: 40px;--rulyo-space-14: 56px;--rulyo-radius-small: 8px;--rulyo-radius-control: 14px;--rulyo-radius-card: 22px;--rulyo-radius-pill: 999px;--rulyo-type-display-size: 40px;--rulyo-type-display-height: 1.05;--rulyo-type-display-weight: 800;--rulyo-type-headline-size: 30px;--rulyo-type-headline-height: 1.15;--rulyo-type-headline-weight: 700;--rulyo-type-title-size: 22px;--rulyo-type-title-height: 1.25;--rulyo-type-title-weight: 700;--rulyo-type-body-size: 17px;--rulyo-type-body-height: 1.5;--rulyo-type-body-weight: 400;--rulyo-type-body-small-size: 15px;--rulyo-type-body-small-height: 1.45;--rulyo-type-body-small-weight: 400;--rulyo-type-label-size: 15px;--rulyo-type-label-height: 1.2;--rulyo-type-label-weight: 700;--rulyo-type-caption-size: 12px;--rulyo-type-caption-height: 1.3;--rulyo-type-caption-weight: 600;--rulyo-type-numeric-size: 22px;--rulyo-type-numeric-height: 1.2;--rulyo-type-numeric-weight: 600;--rulyo-duration-micro: 90ms;--rulyo-duration-short: .18s;--rulyo-duration-medium: .26s;--rulyo-font-display: "BricolageGrotesque", system-ui, sans-serif;--rulyo-font-body: "Figtree", system-ui, sans-serif;--rulyo-font-mono: "GeistMono", ui-monospace, monospace;--rulyo-touch-minimum: 48px;--rulyo-card-radius: 22px}:root{color:var(--rulyo-color-text);background:var(--rulyo-color-canvas);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.shell{width:min(1040px,calc(100% - 32px));margin:0 auto;padding:28px 0 64px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--rulyo-color-border)}.topbar-actions{display:flex;align-items:center;gap:12px}.eyebrow{margin:0 0 6px;color:var(--rulyo-color-text-muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(30px,5vw,48px);line-height:1.08}h2{margin-bottom:8px;font-size:24px}h3{margin-bottom:12px;font-size:18px}.panel{border:1px solid var(--rulyo-color-border);border-radius:var(--rulyo-radius-small);background:var(--rulyo-color-surface)}.auth-panel,.search-panel,.access-panel{display:grid;gap:20px;max-width:680px;margin:40px auto 0;padding:28px}.operator-bar{display:flex;justify-content:space-between;gap:20px;margin:24px 0;padding:16px 20px}.operator-bar strong,.operator-bar span{display:block}.operator-bar span{color:var(--rulyo-color-text-muted);font-size:14px}.muted,.hint{color:var(--rulyo-color-text-muted)}.hint{margin:0;font-size:13px}.form{display:grid;gap:8px}label{font-weight:700;font-size:14px}input,textarea,select{width:100%;border:1px solid var(--rulyo-color-border);border-radius:6px;background:var(--rulyo-color-surface);color:var(--rulyo-color-text);padding:12px 14px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--rulyo-color-primary);outline:3px solid color-mix(in srgb,var(--rulyo-color-focus) 25%,transparent)}.button{min-height:48px;padding:0 18px;border:1px solid transparent;border-radius:6px;cursor:pointer;font-weight:800}.button:disabled{cursor:wait;opacity:.55}.button-primary{background:var(--rulyo-color-primary);color:var(--rulyo-color-primary-foreground)}.button-quiet,.health-link{display:inline-flex;align-items:center;min-height:48px;padding:0 14px;border:1px solid var(--rulyo-color-border);border-radius:6px;background:transparent;color:var(--rulyo-color-text);text-decoration:none;cursor:pointer}.search-form{display:grid;grid-template-columns:1fr auto;gap:10px}.result-list{display:grid;gap:8px}.result-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:14px;border:1px solid var(--rulyo-color-border);border-radius:6px;background:var(--rulyo-color-surface);color:inherit;text-align:left;cursor:pointer}.result-row:hover,.result-row.selected{border-color:var(--rulyo-color-primary);background:color-mix(in srgb,var(--rulyo-color-primary) 7%,var(--rulyo-color-surface))}.result-row strong,.result-row small{display:block}.result-row small,.result-meta{color:var(--rulyo-color-text-muted)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:36px 0 18px}.section-heading h2{margin-bottom:4px}.section-heading .muted{margin-bottom:0;font-size:14px}.access-note{max-width:320px;padding:12px 14px;border-left:3px solid var(--rulyo-color-info);background:var(--rulyo-color-surface);color:var(--rulyo-color-text-muted);font-size:14px}.access-note span{color:var(--rulyo-color-text)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card{padding:18px;border:1px solid var(--rulyo-color-border);border-radius:var(--rulyo-radius-small);background:var(--rulyo-color-surface)}.metric-card strong,.metric-card span{display:block}.metric-card strong{font-size:28px}.metric-card span{color:var(--rulyo-color-text-muted)}.members{margin-top:18px;padding:18px}.member-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--rulyo-color-border)}.tag{color:var(--rulyo-color-text-muted);font-size:14px}.privacy-note{display:grid;gap:4px;margin-top:18px;padding:16px 18px;color:var(--rulyo-color-text-muted)}.privacy-note strong{color:var(--rulyo-color-text)}.alert{margin:18px 0 0;padding:12px 16px;border:1px solid;border-radius:6px}.alert-error{border-color:var(--rulyo-color-critical);color:var(--rulyo-color-critical);background:color-mix(in srgb,var(--rulyo-color-critical) 8%,var(--rulyo-color-surface))}.alert-info{border-color:var(--rulyo-color-info);color:var(--rulyo-color-info);background:color-mix(in srgb,var(--rulyo-color-info) 8%,var(--rulyo-color-surface))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--rulyo-color-focus);outline-offset:3px}@media(max-width:720px){.topbar,.operator-bar,.section-heading{align-items:stretch;flex-direction:column}.topbar-actions{flex-wrap:wrap}.health-link,.button-quiet{justify-content:center;flex:1}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.access-note{max-width:none}}@media(max-width:520px){.shell{width:min(100% - 24px,1040px);padding-top:18px}.auth-panel,.search-panel,.access-panel{margin-top:24px;padding:20px}.search-form{grid-template-columns:1fr}.search-form .button{width:100%}.result-row{align-items:flex-start;flex-direction:column}}
