:root{--pd-bg: #fbf9f4;--pd-surface: #ffffff;--pd-text: #1d1d1f;--pd-text-muted: #6e6e73;--pd-border: #e5e2da;--pd-border-strong: #d2d2d7;--pd-mint: #2ba67a;--pd-mint-dark: #1f8460;--pd-mint-soft: #e6f6ee;--pd-mint-tint: #f0faf5;--pd-radius-sm: 8px;--pd-radius-md: 12px;--pd-radius-lg: 16px;--pd-shadow-sm: 0 1px 2px rgba(33, 25, 14, .04);--pd-shadow-md: 0 4px 16px rgba(33, 25, 14, .06);--pd-shadow-lg: 0 8px 32px rgba(33, 25, 14, .08)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--pd-bg);color:var(--pd-text);line-height:1.45}.app{max-width:720px;margin:0 auto;padding:24px 16px 64px}.app__header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--pd-border);margin-bottom:24px}.app__brand{display:inline-flex;align-items:center;gap:8px;font-size:20px;font-weight:700;text-decoration:none;color:inherit;letter-spacing:-.01em}.app__brand-icon{font-size:22px;line-height:1;transform:rotate(-15deg);display:inline-block;transition:transform .2s ease}.app__brand:hover .app__brand-icon{transform:rotate(0) scale(1.1)}.app__nav a{margin-left:16px;color:var(--pd-mint-dark);text-decoration:none;font-weight:500}.app__nav a:hover{text-decoration:underline}.storage-warning-banner{background:#fff3cd;color:#664d03;border:1px solid #ffe69c;border-radius:6px;padding:8px 12px;margin-bottom:16px;font-size:14px}.today-view__header,.archive-view__header,.archived-round-view__header{margin-bottom:16px}.today-view__title,.archive-view__title,.archived-round-view__title{margin:0;font-size:26px;font-weight:700;letter-spacing:-.015em}.today-view__date{color:#6e6e73;margin:4px 0 0;font-size:14px}.today-view__empty,.archive-view__empty,.archived-round-view__empty{color:#6e6e73;font-style:italic}.round-view{background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius-lg);padding:24px;margin-bottom:24px;box-shadow:var(--pd-shadow-md)}.hint-list{padding-left:0;margin:0 0 20px;list-style:none}.hint-list__item{margin-bottom:10px;padding-left:14px;border-left:3px solid var(--pd-mint-soft)}.hint-list__label{font-weight:600;color:var(--pd-mint-dark)}.drug-dropdown{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.drug-dropdown__label{font-weight:600;font-size:14px}.drug-dropdown__combobox{position:relative}.drug-dropdown__input{width:100%;padding:10px 14px;font-size:16px;border:1px solid var(--pd-border-strong);border-radius:var(--pd-radius-md);background:var(--pd-surface);transition:border-color .15s ease,box-shadow .15s ease}.drug-dropdown__input:focus{outline:none;border-color:var(--pd-mint);box-shadow:0 0 0 3px #2ba67a2e}.drug-dropdown__input:disabled{background:var(--pd-bg);color:var(--pd-text-muted)}.drug-dropdown__listbox{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:10;max-height:240px;overflow-y:auto;margin:0;padding:6px 0;list-style:none;background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);box-shadow:var(--pd-shadow-lg)}.drug-dropdown__option{display:flex;flex-direction:column;padding:8px 12px;cursor:pointer;font-size:15px;line-height:1.3}.drug-dropdown__option-name{display:block}.drug-dropdown__option-aliases{display:block;margin-top:2px;color:#86868b;font-size:12px;font-weight:400}.drug-dropdown__option--active{background:var(--pd-mint-soft)}.drug-dropdown__option--active .drug-dropdown__option-aliases{color:var(--pd-text-muted)}.drug-dropdown__option--selected .drug-dropdown__option-name{font-weight:600}.drug-dropdown__empty{padding:8px 12px;color:#6e6e73;font-style:italic;font-size:14px}.attempt-button{padding:11px 22px;border-radius:var(--pd-radius-md);border:none;background:var(--pd-mint);color:#fff;font-size:16px;font-weight:600;cursor:pointer;box-shadow:var(--pd-shadow-sm);transition:background-color .15s ease,transform 80ms ease,box-shadow .15s ease}.attempt-button:hover:not(:disabled){background:var(--pd-mint-dark);box-shadow:var(--pd-shadow-md)}.attempt-button:active:not(:disabled){transform:translateY(1px)}.attempt-button:disabled{background:#e5e2da;color:var(--pd-text-muted);cursor:not-allowed;box-shadow:none}.result-panel{margin-top:20px;padding:20px;border-radius:var(--pd-radius-md);border:1px solid;box-shadow:var(--pd-shadow-sm)}.result-panel--won{background:var(--pd-mint-soft);border-color:#9bdcb4}.result-panel--lost{background:#fdecec;border-color:#f5a7a7}.result-panel__headline{margin:0 0 8px;font-size:22px;font-weight:700;letter-spacing:-.01em}.result-panel__drug,.result-panel__stats,.result-panel__next{margin:0 0 6px}.result-panel__yesterday{margin:8px 0 0;font-size:14px}.result-panel__yesterday a{color:var(--pd-mint-dark);font-weight:500;text-decoration:none}.result-panel__yesterday a:hover{text-decoration:underline}.stats-panel{background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius-lg);padding:22px;margin-bottom:24px;box-shadow:var(--pd-shadow-sm)}.stats-panel__headline,.stats-panel__subheadline{margin:0 0 12px}.stats-panel__summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 16px}.stats-panel__row{text-align:center;margin:0}.stats-panel__row dt{font-size:12px;color:#6e6e73;text-transform:uppercase;letter-spacing:.04em}.stats-panel__row dd{font-size:22px;font-weight:600;margin:0}.stats-panel__distribution{list-style:none;padding:0;margin:0}.stats-panel__bar{display:grid;grid-template-columns:24px 1fr 32px;align-items:center;gap:8px;margin-bottom:6px;font-variant-numeric:tabular-nums}.stats-panel__bar-label{text-align:right;color:#6e6e73}.stats-panel__bar-fill{background:var(--pd-mint);height:14px;border-radius:999px;min-width:4px;transition:width .2s ease}.stats-panel__bar-value{text-align:left;color:#1d1d1f}.archive-view__list{list-style:none;padding:0;margin:0}.archive-view__item{margin-bottom:8px}.archive-view__link{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);background:var(--pd-surface);text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform 80ms ease}.archive-view__link:hover{border-color:var(--pd-mint);box-shadow:var(--pd-shadow-md);transform:translateY(-1px)}.archive-view__date{font-weight:600}.archive-view__badge{font-size:13px;padding:4px 10px;border-radius:999px}.archive-view__badge--open{background:var(--pd-mint-soft);color:var(--pd-mint-dark)}.archive-view__badge--won{background:#e6f7ec;color:#216e39}.archive-view__badge--lost{background:#fdecec;color:#a40000}.archive-view__subtitle,.archived-round-view__note{color:#6e6e73;font-size:14px;margin:4px 0 8px}.archive-view__nav a,.archived-round-view__nav a{color:var(--pd-mint-dark);text-decoration:none;font-weight:500}.archive-view__nav a:hover,.archived-round-view__nav a:hover{text-decoration:underline}.round-view__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.round-view__note{margin:12px 0 0;font-size:13px;color:#6e6e73}.secondary-button{padding:11px 18px;border-radius:var(--pd-radius-md);border:1px solid var(--pd-border-strong);background:var(--pd-surface);color:var(--pd-text);font-size:15px;font-weight:500;cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease,transform 80ms ease}.secondary-button:hover:not(:disabled){border-color:var(--pd-mint);color:var(--pd-mint-dark);background:var(--pd-mint-tint)}.secondary-button:active:not(:disabled){transform:translateY(1px)}.secondary-button:disabled{background:var(--pd-bg);color:#aeaeb2;cursor:not-allowed}.secondary-button--danger:hover:not(:disabled){border-color:#c7403a;color:#c7403a;background:#fdecec}.wrong-guess-list{list-style:none;padding:0;margin:6px 0 0 16px;display:flex;flex-wrap:wrap;gap:6px}.wrong-guess{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#fdecec;color:#a40000;font-size:13px;border:1px solid #f5c2c2}.wrong-guess__badge{font-weight:700}.wrong-guess--refer-gp{background:#fff4e0;color:#8a5a00;border-color:#f7d9a1}.wrong-guess--refer-ae{background:#ffe7e0;color:#a4380a;border-color:#f5bda7}.hint-list__item{margin-bottom:16px}.hint-list__line{line-height:1.55}.result-panel__score{font-size:18px;margin:4px 0 6px}.result-panel__breakdown{margin:0 0 6px;font-size:14px;color:#3c3c43}.live-score{display:inline-block;margin:0 0 8px;padding:4px 12px;border-radius:999px;background:var(--pd-mint-soft);color:var(--pd-mint-dark);font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}.today-view__date,.archived-round-view__date{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.difficulty-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.difficulty-badge--easy{background:#e6f7ec;color:#216e39;border-color:#9bdcb4}.difficulty-badge--medium{background:#fff4e0;color:#8a5a00;border-color:#f7d9a1}.difficulty-badge--hard{background:#fdecec;color:#a40000;border-color:#f5a7a7}.archive-view__date{display:flex;align-items:center;gap:10px}.bonus-prompt{margin-top:20px;padding:18px;border-radius:var(--pd-radius-md);background:#fffaf0;border:1px solid #f3d68a;box-shadow:var(--pd-shadow-sm)}.bonus-prompt__headline{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 8px;font-size:18px}.bonus-prompt__reward{font-size:13px;font-weight:500;color:#8a5a00}.bonus-prompt__text{margin:0 0 12px}.bonus-prompt__options{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}.bonus-prompt__option{width:100%;text-align:left;padding:11px 16px;border:1px solid var(--pd-border-strong);border-radius:var(--pd-radius-md);background:var(--pd-surface);font-size:15px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,transform 80ms ease}.bonus-prompt__option:hover:not(:disabled){border-color:var(--pd-mint);background:var(--pd-mint-tint)}.bonus-prompt__option:active:not(:disabled){transform:translateY(1px)}.bonus-prompt__option--selected{border-color:var(--pd-mint);background:var(--pd-mint-soft)}.bonus-prompt__option:disabled{cursor:not-allowed;background:#f5f5f7;color:#aeaeb2}.bonus-prompt__actions{display:flex;align-items:center;gap:12px}.bonus-result{margin-top:16px;padding:16px;border-radius:12px;border:1px solid #d2d2d7;background:#fff}.bonus-result--correct{background:#e6f7ec;border-color:#9bdcb4}.bonus-result--incorrect{background:#fdecec;border-color:#f5a7a7}.bonus-result__banner{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:12px;border-radius:10px;background:#fff;border:1px solid #d2d2d7}.bonus-result--correct .bonus-result__banner{background:#d8f1e1;border-color:#6abf86}.bonus-result--incorrect .bonus-result__banner{background:#fbd6d6;border-color:#d97a7a}.bonus-result--skipped .bonus-result__banner{background:#f3f0e3;border-color:#d4c98e}.bonus-result__icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:22px;font-weight:700;color:#fff;background:#6e6e73}.bonus-result--correct .bonus-result__icon{background:#2e7d4f}.bonus-result--incorrect .bonus-result__icon{background:#b85a5a}.bonus-result__banner-text{display:flex;flex-direction:column;gap:2px}.bonus-result__headline{margin:0;font-size:18px;font-weight:700}.bonus-result__subtext{margin:0;font-size:14px;color:#3c3c43}.bonus-result__prompt{margin:0 0 10px;font-style:italic;color:#3c3c43}.bonus-result__options{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:6px}.bonus-result__option{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:#f5f5f7;border:1px solid transparent}.bonus-result__option--correct{background:#d8f1e1;border-color:#6abf86}.bonus-result__option--wrong{background:#fbd6d6;border-color:#d97a7a}.bonus-result__option-marker{flex-shrink:0;width:20px;text-align:center;font-weight:700;color:#6e6e73}.bonus-result__option--correct .bonus-result__option-marker{color:#2e7d4f}.bonus-result__option--wrong .bonus-result__option-marker{color:#b85a5a}.bonus-result__option-text{flex:1}.bonus-result__option-tags{display:flex;gap:6px;flex-shrink:0}.bonus-result__tag{font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;background:#fff;border:1px solid #d2d2d7;color:#3c3c43}.bonus-result__tag--correct{background:#2e7d4f;border-color:#2e7d4f;color:#fff}.bonus-result__explanation{margin:0;font-size:14px;color:#3c3c43}.link-button{background:none;border:none;color:var(--pd-mint-dark);cursor:pointer;font-size:14px;font-weight:500;padding:0}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{color:#aeaeb2;cursor:not-allowed}.stats-panel__footer{margin-top:16px;text-align:right}.result-panel__share{margin:8px 0}.share-button{padding:9px 16px;border-radius:var(--pd-radius-md);border:1px solid var(--pd-border-strong);background:var(--pd-surface);font-size:14px;font-weight:500;cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease,transform 80ms ease}.share-button:hover{border-color:var(--pd-mint);color:var(--pd-mint-dark);background:var(--pd-mint-tint)}.share-button:active{transform:translateY(1px)}.share-button--copied,.share-button--copied:hover{border-color:var(--pd-mint-dark);color:var(--pd-mint-dark);background:var(--pd-mint-soft)}.error-boundary{margin:24px 0;padding:20px;border-radius:10px;border:1px solid #f5a7a7;background:#fdecec}.error-boundary__headline{margin:0 0 8px;font-size:20px}.error-boundary__body{margin:0 0 12px}.error-boundary__detail{margin:0 0 12px;padding:8px 12px;background:#fff;border:1px solid #f5a7a7;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;white-space:pre-wrap;overflow-x:auto}.error-boundary__actions{display:flex;gap:8px}.error-boundary__retry,.error-boundary__reload{background:#fff;border:1px solid #b85a5a;color:#b85a5a;border-radius:6px;padding:8px 14px;font:inherit;cursor:pointer}.error-boundary__retry:hover,.error-boundary__reload:hover{border-color:#8a3434;color:#8a3434}.app-footer{margin-top:48px;padding:24px 0 0;border-top:1px solid var(--pd-border);text-align:center;color:var(--pd-text-muted);font-size:13px}.app-footer__disclaimer{margin:0 0 12px;font-size:13px}.app-footer__nav{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:0 0 12px}.app-footer__nav a{color:var(--pd-mint-dark);text-decoration:none;font-weight:500}.app-footer__nav a:hover{text-decoration:underline}.app-footer__meta{margin:0;font-size:12px;color:var(--pd-text-muted)}.app-footer__meta a{color:inherit;text-decoration:none}.app-footer__meta a:hover{text-decoration:underline}.content-page{background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius-lg);padding:28px;margin-bottom:24px;box-shadow:var(--pd-shadow-sm);line-height:1.6}.content-page__header{margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--pd-border)}.content-page__title{margin:0 0 4px;font-size:26px;font-weight:700;letter-spacing:-.015em}.content-page__updated{margin:0;color:var(--pd-text-muted);font-size:13px}.content-page__section{margin:20px 0}.content-page__section h2{margin:0 0 8px;font-size:18px;font-weight:600}.content-page__section p,.content-page__section ul{margin:0 0 10px}.content-page__section a{color:var(--pd-mint-dark)}.content-page__lede{font-size:18px;margin:0 0 12px;color:var(--pd-mint-dark)}.content-page__callout{margin:16px 0;padding:14px 16px;border-radius:var(--pd-radius-md);border:1px solid var(--pd-border);background:var(--pd-bg)}.content-page__callout--warning{background:#fff8e1;border-color:#f3d68a}.content-page__callout p{margin:0}.tutorial-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#21190e59;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000;animation:tutorial-fade-in .16s ease}.tutorial-dialog{background:var(--pd-surface);border-radius:var(--pd-radius-lg);box-shadow:var(--pd-shadow-lg);max-width:480px;width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;animation:tutorial-pop-in .18s ease}.tutorial-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 12px}.tutorial-dialog__title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.01em}.tutorial-dialog__close{background:none;border:none;font-size:18px;color:var(--pd-text-muted);cursor:pointer;padding:4px 8px;border-radius:6px}.tutorial-dialog__close:hover{background:var(--pd-bg);color:var(--pd-text)}.tutorial-dialog__body{padding:0 24px;overflow-y:auto}.tutorial-dialog__steps{margin:12px 0 16px;padding-left:22px}.tutorial-dialog__steps li{margin-bottom:10px;line-height:1.5}.tutorial-dialog__callout{margin-top:16px;padding:12px 14px;background:#fff8e1;border:1px solid #f3d68a;border-radius:var(--pd-radius-md);font-size:14px}.tutorial-dialog__footer{padding:16px 24px 20px;display:flex;justify-content:flex-end}@keyframes tutorial-fade-in{0%{opacity:0}to{opacity:1}}@keyframes tutorial-pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.app__brand-icon,.attempt-button:active:not(:disabled),.secondary-button:active:not(:disabled),.bonus-prompt__option:active:not(:disabled),.archive-view__link:hover,.share-button:active{transform:none!important}}
