.aapl-library { max-width:1400px; margin:0 auto; padding:35px 20px 70px; font-family:inherit; color:#17213a; }
.aapl-library-header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:30px; }
.aapl-library-header h1 { margin:0 0 4px; font-size:30px; line-height:1.15; font-weight:700; letter-spacing:-.02em; color:#0f172a; }
.aapl-library-header p { margin:0; color:#64748b; font-size:14px; line-height:1.45; }
.aapl-library-header h1::after { content:none !important; display:none !important; }
.aapl-help-button { width:42px; height:42px; border:1px solid #dbe3ef; border-radius:50%; background:#fff; color:#2563eb; font-size:18px; font-weight:800; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .18s ease; } .aapl-help-button:hover { background:#eff6ff; border-color:#2563eb; transform:translateY(-1px); }
.aapl-toolbar { display:flex; align-items:center; gap:16px; margin-bottom:24px; width:100%; }
.aapl-search { display:flex; align-items:center; width:100%; height:50px; padding:0 18px; background:#fff; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 2px 8px rgba(15,23,42,.04); transition:.2s ease; }
.aapl-search:focus-within { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.aapl-search-icon { margin-right:12px; font-size:16px; color:#94a3b8; }
.aapl-search-input { flex:1; width:100%; border:none !important; outline:none !important; background:transparent !important; box-shadow:none !important; padding:0 !important; font-size:14px; color:#334155; }
.aapl-search-input::placeholder { color:#94a3b8; }
.aapl-topic-chips { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 28px; }
.aapl-chip { display:inline-flex; align-items:center; justify-content:center; height:40px; padding:0 18px; background:#fff; border:1px solid #d9e2ec; border-radius:999px; color:#475569; font-size:13px; font-weight:600; line-height:1; cursor:pointer; user-select:none; transition:all .18s ease; }
.aapl-chip:hover { background:#eff6ff; border-color:#2563eb; color:#2563eb; transform:translateY(-1px); }
.aapl-chip-active { background:#2563eb; border-color:#2563eb; color:#fff; box-shadow:0 6px 16px rgba(37,99,235,.20); }
.aapl-chip-active:hover { background:#1d4ed8; border-color:#1d4ed8; color:#fff; }
.aapl-section { margin-top:32px; }
.aapl-section-heading { display:flex; align-items:baseline; gap:15px; border-bottom:1px solid #e7ebf1; padding-bottom:13px; margin-bottom:18px; }
.aapl-section-heading h2 { margin:0; font-size:20px; font-weight:800; }
.aapl-section-heading span { color:#64748b; font-size:14px; }
.aapl-card-grid { display:grid; gap:18px; }
.aapl-powerup-grid { grid-template-columns:repeat(3,1fr); }
.aapl-abcdq-grid { grid-template-columns:repeat(3,1fr); }
.aapl-prompt-card { position:relative; min-height:250px; padding:24px; border:1px solid #e0e7f0; border-radius:17px; background:#fff; box-shadow:0 3px 12px rgba(25,45,80,.04); display:flex; flex-direction:column; transition:transform .18s ease, box-shadow .18s ease; }
.aapl-prompt-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(25,45,80,.09); }
.aapl-powerup-grid .aapl-prompt-card { background:linear-gradient(145deg,#fffdf4,#fff); border-color:#f1d98a; }
.aapl-abcdq-grid .aapl-prompt-card { background:linear-gradient(145deg,#fcf9ff,#fff); border-color:#ddccfa; }
.aapl-card-icon { width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:21px; background:#fff2bd; margin-bottom:14px; }
.aapl-abcdq-grid .aapl-card-icon { background:#eee1ff; }
.aapl-card-top { position:absolute; right:20px; top:20px; display:flex; gap:7px; align-items:center; }
.aapl-type-badge { font-size:11px; font-weight:700; padding:5px 9px; border-radius:999px; border:1px solid; }
.aapl-type-badge.powerup { color:#9a6700; border-color:#eac65b; background:#fff8db; }
.aapl-type-badge.abcdq { color:#6d28d9; border-color:#c9aaf7; background:#f7f0ff; }
.aapl-featured-badge { font-size:13px; }
.aapl-prompt-card h3 { margin:0 70px 8px 0; font-size:18px; line-height:1.3; }
.aapl-card-category { color:#64748b; font-size:12px; font-weight:600; margin-bottom:10px; }
.aapl-prompt-card p { color:#475569; line-height:1.55; font-size:14px; margin:0 0 18px; }
.aapl-view-button { margin-top:auto; align-self:flex-start; border:0; background:none; color:#1267e8; font-weight:700; padding:0; cursor:pointer; font-size:14px; }
.aapl-empty { text-align:center; padding:50px; color:#64748b; }
.aapl-modal { display:none; position:fixed; inset:0; z-index:99999; }
.aapl-modal.is-open { display:flex; align-items:center; justify-content:center; }
.aapl-modal-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.66); }
.aapl-modal-dialog { position:relative; z-index:1; width:min(850px,calc(100% - 30px)); max-height:90vh; overflow:auto; background:#fff; border-radius:18px; padding:34px; box-shadow:0 25px 70px rgba(0,0,0,.25); }
.aapl-modal-close { position:absolute; right:18px; top:13px; width:38px; height:38px; border:0; background:#f1f5f9; border-radius:50%; font-size:25px; cursor:pointer; }
.aapl-modal-dialog h2 { margin:5px 45px 8px 0; font-size:28px; }
.aapl-modal-dialog > p { color:#64748b; line-height:1.6; }

.aapl-modal-context { margin-top:22px; display:grid; gap:14px; }
.aapl-modal-context-block { border:1px solid #e2e8f0; border-radius:12px; background:#f8fafc; padding:14px 16px; }
.aapl-modal-context-block .aapl-modal-label { margin-top:0; margin-bottom:6px; }
.aapl-modal-context-value { color:#17213a; font-size:14px; font-weight:700; line-height:1.5; }
.aapl-modal-how-to-use { color:#475569; font-size:14px; line-height:1.65; white-space:pre-line; }
.aapl-modal-label { margin-top:24px; margin-bottom:8px; font-size:11px; font-weight:800; letter-spacing:.08em; color:#64748b; }
.aapl-modal-dialog pre { white-space:pre-wrap; font-family:inherit; font-size:14px; line-height:1.65; background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:20px; margin:0 0 16px; color:#17213a; }
.aapl-copy-button { border:0; background:#2878ef; color:#fff; padding:12px 18px; border-radius:9px; font-weight:700; cursor:pointer; }
.aapl-copy-status { display:inline-block; margin-left:10px; color:#15803d; font-size:13px; }
@media (max-width:1000px) { .aapl-powerup-grid,.aapl-abcdq-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px) { .aapl-library { padding:25px 15px 50px; } .aapl-library-header { align-items:flex-start; } .aapl-library-header h1 { font-size:32px; } .aapl-toolbar { flex-direction:column; } .aapl-powerup-grid,.aapl-abcdq-grid { grid-template-columns:1fr; } .aapl-modal-dialog { padding:25px 20px; } }

.aapl-section[hidden], .aapl-prompt-card[hidden], .aapl-empty[hidden] { display:none !important; }

.aapl-share-panel { margin-top:42px; padding:26px 28px; border:1px solid #dbe5f0; border-radius:17px; background:#f8fbff; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.aapl-share-panel h2 { margin:0 0 7px; font-size:20px; color:#13203b; }
.aapl-share-panel p { margin:0; color:#64748b; font-size:14px; line-height:1.55; max-width:760px; }
.aapl-share-button { flex:0 0 auto; border:0; background:#2878ef; color:#fff; padding:12px 18px; border-radius:9px; font-weight:700; cursor:pointer; white-space:nowrap; }
.aapl-share-button:hover,.aapl-submit-button:hover { background:#1d68dc; }
.aapl-share-dialog { width:min(760px,calc(100% - 30px)); }
.aapl-share-form { margin-top:20px; }
.aapl-form-row { margin-bottom:16px; }
.aapl-form-row label { display:block; margin-bottom:6px; color:#334155; font-size:13px; font-weight:700; }
.aapl-form-row input,.aapl-form-row textarea { width:100%; box-sizing:border-box; border:1px solid #dbe3ef; border-radius:9px; background:#fff; padding:11px 12px; font:inherit; color:#17213a; }
.aapl-form-row input:focus,.aapl-form-row textarea:focus { outline:none; border-color:#2878ef; box-shadow:0 0 0 3px rgba(40,120,239,.10); }
.aapl-form-row textarea { resize:vertical; min-height:80px; line-height:1.5; }
.aapl-submit-button { border:0; background:#2878ef; color:#fff; padding:12px 20px; border-radius:9px; font-weight:700; cursor:pointer; }
@media (max-width:700px) { .aapl-share-panel { align-items:flex-start; flex-direction:column; } .aapl-share-button { width:100%; } }
